ClickHouse/docs/ja/sql-reference/functions/ulid-functions.md
2024-11-18 11:58:58 +09:00

85 lines
2.5 KiB
Markdown

---
slug: /ja/sql-reference/functions/ulid-functions
sidebar_position: 190
sidebar_label: ULID
---
# ULIDを扱うための関数
## generateULID
[ULID](https://github.com/ulid/spec)を生成します。
**構文**
``` sql
generateULID([x])
```
**引数**
- `x` — [サポートされるデータ型](../data-types/index.md#data_types)のいずれかを結果とする[式](../../sql-reference/syntax.md#syntax-expressions)。結果の値は破棄されますが、関数が1つのクエリ内で複数回呼び出されたときに[共通部分式除去 (CSE)](../../sql-reference/functions/index.md#common-subexpression-elimination)をバイパスするために使用されます。オプションの引数です。
**戻り値**
[FixedString](../data-types/fixedstring.md)型の値。
**使用例**
``` sql
SELECT generateULID()
```
``` text
┌─generateULID()─────────────┐
│ 01GNB2S2FGN2P93QPXDNB4EN2R │
└────────────────────────────┘
```
**1行に複数の値を生成する必要がある場合の使用例**
```sql
SELECT generateULID(1), generateULID(2)
```
``` text
┌─generateULID(1)────────────┬─generateULID(2)────────────┐
│ 01GNB2SGG4RHKVNT9ZGA4FFMNP │ 01GNB2SGG4V0HMQVH4VBVPSSRB │
└────────────────────────────┴────────────────────────────┘
```
## ULIDStringToDateTime
この関数はULIDからタイムスタンプを抽出します。
**構文**
``` sql
ULIDStringToDateTime(ulid[, timezone])
```
**引数**
- `ulid` — 入力ULID。[String](../data-types/string.md)または[FixedString(26)](../data-types/fixedstring.md)。
- `timezone` — 返される値のための[タイムゾーン名](../../operations/server-configuration-parameters/settings.md#timezone)(オプション)。[String](../data-types/string.md)。
**戻り値**
- ミリ秒精度のタイムスタンプ。[DateTime64(3)](../data-types/datetime64.md)。
**使用例**
``` sql
SELECT ULIDStringToDateTime('01GNB2S2FGN2P93QPXDNB4EN2R')
```
``` text
┌─ULIDStringToDateTime('01GNB2S2FGN2P93QPXDNB4EN2R')─┐
│ 2022-12-28 00:40:37.616 │
└────────────────────────────────────────────────────┘
```
## 関連項目
- [UUID](../../sql-reference/functions/uuid-functions.md)