ApsaraDB for ClickHouse mendukung tipe data yang tercantum dalam referensi ini. Untuk informasi lengkap mengenai sistem tipe hulu, lihat Data Types dalam dokumentasi ClickHouse sumber terbuka.
Tipe data yang didukung
Integer
Bilangan bulat bertanda. Gunakan tipe terkecil yang mencakup rentang nilai Anda untuk meminimalkan penggunaan penyimpanan.
| Keyword | Range |
|---|---|
Int8 | –128 hingga 127 |
Int16 | –32.768 hingga 32.767 |
Int32 | –2.147.483.648 hingga 2.147.483.647 |
Int64 | –9.223.372.036.854.775.808 hingga 9.223.372.036.854.775.807 |
Untuk bilangan bulat tak bertanda (UInt8, UInt16, UInt32, UInt64), lihat Integer types dalam dokumentasi ClickHouse.
Floating-point
| Keyword | Description |
|---|---|
Float32 | Floating-point presisi tunggal. Setara dengan FLOAT di C++. Memakan 4 byte; biner 32-bit. |
Float64 | Floating-point presisi ganda. Setara dengan DOUBLE di C++. Memakan 8 byte; biner 64-bit. |
Untuk data keuangan atau bisnis yang memerlukan perhitungan eksak, gunakanDecimalalih-alihFloat32atauFloat64. Aritmetika floating-point dapat menimbulkan kesalahan pembulatan.
Decimal
Bilangan titik tetap bertanda yang mempertahankan presisi selama penjumlahan, pengurangan, dan perkalian.
Format yang didukung: Decimal(P, S), Decimal32(S), Decimal64(S), Decimal128(S).
String
| Keyword | Description |
|---|---|
String | String dengan panjang variabel berukuran apa pun, termasuk byte null. Setara dengan VARCHAR, BLOB, dan CLOB di sistem database lain. |
FixedString(N) | String dengan panjang tetap tepat N byte. Lebih efisien daripada String ketika semua nilai memiliki panjang byte yang sama. |
Kasus penggunaan efisien untuk FixedString:
Representasi biner alamat IPv6:
FixedString(16)Kode bahasa seperti
ru_RUdanen_USKode mata uang seperti
USDdanRUBNilai hash MD5:
FixedString(16)Nilai hash SHA-256:
FixedString(32)
Date and time
| Keyword | Description |
|---|---|
Date | Menyimpan tanggal sebagai jumlah hari sejak 1970-01-01. Memakan 2 byte. Tak bertanda. Disimpan tanpa zona waktu. |
DateTime | Menyimpan datetime sebagai jumlah detik sejak 1970-01-01 00:00:00. Memakan 4 byte. Tak bertanda. Rentang nilai DateTime sama dengan rentang nilai Date. Nilai minimumnya adalah 1970-01-01 00:00:00. Akurat hingga detik; detik kabisat tidak didukung. Zona waktu mengikuti zona waktu sistem client atau server. |
DateTime64 | Menyimpan tanggal dan waktu pada titik waktu tertentu. |
Datelebih cepat daripadaDateTimedalam sebagian besar kondisi dan memerlukan separuh ruang penyimpanan (2 byte vs. 4 byte). Perbedaan ukuran menjadi lebih signifikan setelah kompresi.
Boolean
ClickHouse tidak memiliki tipe Boolean native. Gunakan UInt8 untuk nilai Boolean: 0 untuk false dan 1 untuk true.
Array
Array(T) — kumpulan elemen dengan tipe yang sama T. Tipe elemen dapat berupa tipe ClickHouse apa pun, termasuk Array.
Hindari array multidimensi. ClickHouse hanya mendukungnya secara parsial—array multidimensi tidak dapat disimpan di tabel MergeTree.
Tuple
Tuple(T1, T2, ...) — kumpulan elemen dengan tipe berbeda.
Tuple tidak dapat disimpan di tabel kecuali di tabel memori. Gunakan tuple untuk mengelompokkan kolom sementara dalam kueri dengan ekspresi IN atau fungsi lambda.
Domain
Tipe Domain menyimpan alamat IP dalam format biner dengan input dan output yang mudah dibaca manusia:
Alamat IPv4: kompatibel secara biner dengan
UInt32.Alamat IPv6: kompatibel secara biner dengan
FixedString(16).
Enumeration
| Keyword | Range | Notes |
|---|---|---|
Enum8 | –128 hingga 127 | — |
Enum16 | –32.768 hingga 32.767 | Nilai dapat kosong |
Nullable
Nullable(T) — membungkus tipe dasar apa pun T agar dapat menyimpan nilai NULL. Nilai default-nya adalah NULL kecuali jika konfigurasi server ClickHouse menentukan sebaliknya.
Batasan:
Kolom
Nullabletidak dapat dimasukkan dalam indeks tabel.
Nested
Nested — struktur data bersarang, mirip dengan tabel yang disematkan dalam sebuah sel. Definisikan dengan nama bidang dan tipe, menggunakan sintaks yang sama seperti CREATE TABLE. Setiap baris di tabel luar dapat berkorespondensi dengan sejumlah baris apa pun di struktur bersarang tersebut.