關於SQL的練習

看到一個題目有一點意思,和大家分享。

 如果sysdate 不是本月1號而且處於早上5點以前,那麼返回前一天的日期。

 

該題目主要用到decode()的方法,判斷是否5點以後,用sign()和 decode()結合起來判斷。

select

       to_char( sysdate, 'dd' ), '01' ,sysdate,                          ----------------判斷是否1號

        decode(  sign( 5 - to_char( sysdate, 'HH24' ) ) , 1,    --------------------判斷是否5點以前

                              sysdate - 1, sysdate) )

from dual

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章