db2 常用sql,函式整理
1.專案中經常會遇到order by ,但是欄位卻是varchar型別的,排序就會出現問題,把欄位轉為int型別的進行排序
order by CAST(rank as int)
補充:CAST是db2或oracle中強制型別轉換函式
語法: CAST ( expression AS data_type )
2.專案中可能會遇到如果這個欄位沒有值,但是想做特殊處理怎麼辦捏
SELECT coalesce(score,'-0') FROM SCORE
解釋:如果score查詢沒有值的話,就返回為-0(前臺頁面就可以做邏輯處理啦~)
補充:COALESCE 函式 :返回列表中的第一個非空表示式(如果所有引數均為 NULL,則返回 NULL),與Oracle資料庫的nvl函式功能相同。
語法 :COALESCE ( expression, expression [ , ...] )
3.模糊查詢
like '%${text}%'
注意:${text} 是mybaits 傳入的值, like '%張三%'
4.日期擷取,格式轉換
select substr(DECIMAL(op_time ),1,6) as op_time from REPORT
注意:op_time 資料庫值:2018-08-01 查詢出的值:201808 日期格式為 : yyyy-MM-dd
解釋:DECIMAL(op_time) 查詢出的值為: 20180801 日期格式轉化為了 :yyyyMMdd
substr (time,1,6) 查詢出的值為: 201808 語法:substr(字串,擷取開始位置,擷取長度) 返回擷取的字串。
5.專案要求全省和天府新區的要排在最後面展示
order by case when ( city_id='1' or city_id='-1') then 1 else 0 end , cast(city_id as int)
.......要下班了奧~ 下次繼續更吧,還有很多的