SQL語句小tips(持續更新)

2021-09-19 22:44:44 字數 1209 閱讀 8536

判斷people_id是否是32為字母組成的,統計不滿足要求的資料

select

count(if(binary people_id not regexp '

^[0-9a-z]

',true,null)) as people_id_illegality_cnt from people_day

if( expr1 , expr2 , expr3 )

expr1 的值為 true,則返回值為 expr2 

expr1 的值為false,則返回值為 expr3

其中true,select出來是1

binary

where條件加入binary的話,可以對大小寫敏感,預設mysql是不區分大小寫的 

非空判斷,如果為空置為0,非空取當前值

兩種方法:

1. 利用if+isnull判斷是否為空

select

if(isnull(sum(final_amount)),0,sum(final_amount)) as final_amount_total from day_income where

day=

20180821

and income_type=

1;

2 . 利用coalesce函式

coalesce(value1,...) :返回第乙個非null的引數

說明:返回列表中第乙個非空值,如果沒有非null值,則返回null。

mysql>

select

coalesce(null,1

);

->

1mysql

>

select

coalesce(null,null,null

);

->

null

select

coalesce(sum(final_amount),0) as final_amount_total from day_income where

day=

20180822

and income_type=

1;

雖千萬人,吾往矣!

程式設計小 Tips ,持續更新中

任何技能都講究熟能生巧,包括程式設計。但是在敲 的過程中,掌握一些 奇技淫巧 還是可以對提高生產力大有幫助的!下面就記錄下自己學習到的一些小 tips,常用的快捷鍵就不多提了。有些小技巧自己不注意可能永遠不會發現,正如同事所說,有的東西,靠口口相傳!在 ide 中,按住 alt 鍵 拖動滑鼠,可以框...

Tips 持續更新

一般是classpath路徑有問題,或執行目錄有問題 在c語言裡 是或運算子,oracle裡雙豎線是字串連線運算子!ps ef grep ora12c grep v module mxm cut c 9 15 xargs kill 9 更換阿里yum源 使用unzip命令時,檔名必須一致,不可有隱藏...

golang 小筆記 要點tips 持續更新中

當接收者為值型別時,無論呼叫者是值型別還是指標型別,接收者的更改都不會影響呼叫者。當接收者是指標型別時,無論呼叫者是值型別還是指標型別,接收者的更改均會影響呼叫者。type person struct func p person getname string func p person setnam...