天天看點

Hive中concat函數和concat_ws函數的差別

concat函數在連接配接字元串的時候,隻要其中一個是NULL,那麼将傳回NULL

hive> select concat('a','b');
OK
ab
Time taken: 0.477 seconds, Fetched: 1 row(s)
hive> select concat('a','b',null);
OK
NULL
Time taken: 0.181 seconds, Fetched: 1 row(s)
           

concat_ws函數在連接配接字元串的時候,隻要有一個字元串不是NULL,就不會傳回NULL。concat_ws函數需要指定分隔符。

hive> select concat_ws('-','a','b');
OK
a-b
Time taken: 0.245 seconds, Fetched: 1 row(s)
hive> select concat_ws('-','a','b',null);
OK
a-b
Time taken: 0.177 seconds, Fetched: 1 row(s)
hive> select concat_ws('','a','b',null);
OK
ab
Time taken: 0.184 seconds, Fetched: 1 row(s)
           

繼續閱讀