Clickhouse 運算符

1.常見操作:四則運算和拼接

運算符

運算符

函數

 

a + b

plus(a, b)

 

a - b

minus(a, b)

 

a * b 

multiply (a, b)

 

a / b 

divide(a, b)

 

取模

a % b

modulo(a, b)

 

取負數

-a 

negate (a)

 

連接

s1 || s2

concat(s1, s2)

 

Lambda 

x -> expr

lambda(x, expr)

 

2.比較運算符:

比較運算符

示例

函數

等於

a = b

 equals(a, b)

等於

a == b

equals(a, b)

不等於

a != b

 notEquals(a, b)

不等於

a <> b

notEquals(a, b)

大於

a > b

greater(a, b)

大於等於

a >= b

greaterOrEquals(a, b)

小於

a < b 

less(a, b)

小於等於

a <= b

lessOrEquals(a, b)

匹配操作

a LIKE s

like(a, b)

不匹配操作

a NOT LIKE s 

notLike(a, b)

區間

a BETWEEN b AND c

a >= b AND a <= c.

不在區間

a NOT BETWEEN b AND c

a < b OR a > c

3.邏輯運算符:

說明

示例

函數

NOT a

not(a)

a AND b

and(a, b)

a OR b

or(a, b)

 4.IN操作

操作符

函數示例

a IN ...

in(a, b) 

a NOT IN ...

notIn(a, b)

a GLOBAL IN ...

globalIn(a, b)

a GLOBAL NOT IN ...

globalNotIn(a, b)

 5.日期時間操作符:

 EXTRACT(part FROM date)

說明

參數

Part

INTERVAL

Date

Datetime

        Range

YEAR

 

 

 

 

 

QUARTER

 

 

 

 

1-4

MONTH

 

 

 

 

1-12

WEEK

 

 

 

 

1-52

DAY

 

 

 

 

1-31

HOUR

 

 

 

 

0-23

MINUTE

 

 

 

 

0-59

SECOND

 

 

 

 

0-59

select extract(year from now()) Y, extract(month from now()) m,  extract(day from now()) d,\n
extract(hour from now()) h,extract(minute from now()) mi,extract(second from now()) s,now() now;

SELECT 
    toYear(now()) AS Y, 
    toMonth(now()) AS m, 
    toDayOfMonth(now()) AS d, 
    toHour(now()) AS h, 
    toMinute(now()) AS mi, 
    toSecond(now()) AS s, 
    now() AS now

┌────Y─┬─m─┬─d─┬─h─┬─mi─┬──s─┬─────────────────now─┐
│ 2020 │ 6 │ 9 │ 8 │ 20 │ 29 │ 2020-06-09 08:20:29 │
└──────┴───┴───┴───┴────┴────┴─────────────────────┘

 6.條件運算符:

條件運算符:
a ? b : c – The if(a, b, c) function

條件表達式:
Conditional Expression 
 CASE [x]
    WHEN a THEN b
    [WHEN ... THEN ...]
    [ELSE c]
END
If x is specified, then transform(x, [a, ...], [b, ...], c) function is used. Otherwise – multiIf(a, b, ..., c).
If there is no ELSE c clause in the expression, the default value is NULL.
The transform function does not work with NULL.

7.NULL運算符:

NULL操作
支持IS NULL 和IS NOT NULL
使用nullable類型返回0和1

8.數組和元祖操作符:

 

示例

函數

 

數組

[x1, ...] 

array(x1, ...)

 

元祖

(x1, x2, ...) 

tuple(x2, x2, ...)

 

數組訪問

a[N]

arrayElement(a, N)

 

元祖訪問

a.N

tupleElement(a, N)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章