sql 中的一些常用函式彙總(更新中。。。)

2021-10-06 22:00:21 字數 1186 閱讀 8267

1、字串擷取 substr()

用法:substr(string string,num start,num length);

string為字串;

start為起始位置;

length為長度,省略,則是從開始位置到最後。

不同sql的start的開始值不同,有的是0,有的是1,可以嘗試一下

mysql從1開始,hive從0,1都可以

2.內容排名排序 row_number() over()

用例:select *, row_number() over (partition by key1,key2 order by key2 desc) rank 

from hive_jdbc_test where day='2018-1-1'

可用於資料庫去除重複資料,保留一條,將where 條件改為 rank=1,就可以達到保留一條的效果。

3.字串拼接concat()

用法:concat(s1,s2,...)

返回連線引數產生的字串,乙個或多個待拼接的內容,任意乙個為null則返回值為null。

4.字串拼接concat_ws(x,s1,s2,s3...)

用法:返回多個字串拼接之後的字串,每個字串之間有乙個x。

把分隔符x指定為null,結果全部變成了null

5.字串分組拼接concat_group

功能:將group by產生的同乙個分組中的值連線起來,返回乙個字串結果

語法:group_concat( [distinct] 要連線的字段 [order by 排序字段 asc/desc ] [separator '分隔符'] )

說明:通過使用distinct可以排除重複值;如果希望對結果中的值進行排序,可以使用order by子句;separator是乙個字串值,預設為乙個逗號。

6.hive 顯示拉鍊分割槽

hive> show partitions table_name ;

7.case的使用

case when t.os = 'android' then 'android' when t.os = 'ios' then 'iphone' else 'pc' end as os,

或者case t.os when 'android' then 'android' when 'ios' then 'iphone' else 'pc' end as os,

一些常用的sql函式

select abs 5 from dual select sqrt 2 from dual select power 2,3 from dual select cos 3.14159 from dual select mod 1600 300 from dual select ceil 2.35 ...

一些常用SQL

1 對select 查詢出來的資料時行修改.1 select t.rowid,t.fromtablename t 取出資料物理rowid 並顯示,些時可以對其進行修改.2 select fromtablenamefor update 取出資料顯示,此時可以對其進行編輯.以上兩種修改,修改後一定要進行...

sql中的一些通用函式

1.sql中使用case,when,then select case type when 1then 正常 when 2then 密碼錯誤 else 不正常 end 狀態 from tbl user 或者select case when type 1then 正常 when type 1then 密...