整型:固定長度的整型,包括有符號整型或無符號整型。
整型範圍(-2n-1~2n-1-1):
int8 - [-128 : 127]
int16 - [-32768 : 32767]
int32 - [-2147483648 : 2147483647]
int64 - [-9223372036854775808 : 9223372036854775807]
無符號整型範圍(0~2n-1):
uint8 - [0 : 255]
uint16 - [0 : 65535]
uint32 - [0 : 4294967295]
uint64 - [0 : 18446744073709551615]
浮點型:
float32 - float
float64 – double
建議盡可能以整數形式儲存資料。例如,將固定精度的數字轉換為整數值,如時間用毫秒為單位表示, 因為浮點型進行計算時可能引起四捨五入的誤差。
與標準sql相比,clickhouse 支援以下類別的浮點數:
inf-正無窮:
? select 1/0
┌─divide(1, 0)─┐
│ inf │
└──────────────┘
-inf-負無窮:
? select -1/0
┌─divide(1, 0)─┐
│ -inf │
└──────────────┘
nan-非數字:
? select 0/0
┌─divide(0, 0)─┐
│ nan │
└──────────────┘
布林型: 沒有單獨的型別來儲存布林值。可以使用 uint8 型別,取值限制為 0 或 1。
字串
1)string
字串可以任意長度的。它可以包含任意的位元組集,包含空位元組。
2)fixedstring(n)
固定長度 n 的字串,n 必須是嚴格的正自然數。當服務端讀取長度小於 n 的字串時候,通過在字串末尾新增空位元組來達到 n 位元組長度。 當服務端讀取長度大於 n 的字串時候,將返回錯誤訊息。
與string相比,極少會使用fixedstring,因為使用起來不是很方便。
列舉型別
包括 enum8 和 enum16 型別。enum 儲存 『string』= integer 的對應關係。
enum8 用 『string』= int8 對描述。
enum16 用 『string』= int16 對描述。
用法演示:
建立乙個帶有乙個列舉 enum8(『hello』 = 1, 『world』 = 2) 型別的列:
create table t_enum
(x enum8(『hello』 = 1, 『world』 = 2)
)engine = tinylog
這個 x 列只能儲存型別定義中列出的值:『hello』或』world』。如果嘗試儲存任何其他值,clickhouse 丟擲異常。
? insert into t_enum values (『hello』), (『world』), (『hello』
**從表中查詢資料時,clickhouse 從 enum 中輸出字串值。**
select * from t_enum
┌─x─────┐
│ hello │
│ world │
│ hello │
└───────┘
**如果需要看到對應行的數值,則必須將 enum 值轉換為整數型別。**
select cast(x, 'int8') from t_enum
┌─cast(x, 'int8')─┐
│ 1 │
│ 2 │
│ 1 │
└─────────────────┘
陣列
array(t):由 t 型別元素組成的陣列。t 可以是任意型別,包含陣列型別。 但不推薦使用多維陣列,clickhouse 對多維陣列的支援有限。例如,不能在 mergetree 表中儲存多維陣列。
建立陣列:
(1)array(t) : array(『a』,『b』)
(2)也可以使用方括號 : [『a』,『b』]
元組
tuple(t1, t2, …):元組,其中每個元素都有單獨的型別。
建立元組的示例:
? select tuple(1,『a』) as x, totypename(x)
select
(1, 'a') as x,
totypename(x)
┌─x───────┬─totypename(tuple(1, 'a'))─┐
│ (1,'a') │ tuple(uint8, string) │
└─────────┴───────────────────────────┘
1 rows in set. elapsed: 0.021 sec.
date:日期型別,用兩個位元組儲存,表示從 1970-01-01 (無符號) 到當前的日期值。 基本資料類
integer integer1 1 int integer2 integer1 將基本資料型別換成string字串型別 講字串轉換成基本資料型別 int num integer.parseint 1 判斷記憶體位址是否相同,用 判斷物件的資料是否相同,用 equals 比較是否相等,可用向下轉型方...
python基本數 python基本資料型別
1.數字 int 數字又分整型和浮點型,在python中宣告變數是不用宣告所以自己就會識別 a 10 整型 a1 1.24 浮點型 支援科學計數法,將10用e來代替 2.字串 str 在python中用引號引起來的就是字串,而且單引號和雙引號並沒有什麼區別 a string a1 string a2...
PHP有哪些基本資料類,php基本資料型別有哪些
php中的資料型別有字串 整數 浮點數 邏輯 陣列 物件 null。下面分別解釋一下每種型別。php字串 字串是字串行,比如 hello world 字串可以是引號內的任何文字。您可以使用單引號或雙引號 例項 x hello world echo x echo x hello world echo ...