1. 程式人生 > >db2 常用sql,函式整理

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)

.......要下班了奧~ 下次繼續更吧,還有很多的