2018年1月24日 星期三

[SQL] 以今日日期取得上個月1號日期

MSSQL語法:

取得上個月1號日期
SELECT dateadd(dd, -day(dateadd(month, -1, getdate()))+1, dateadd(month, -1, getdate()))

輸出:2017-12-01 12:13:25.617

在格式化成 yyyy/mm/dd  
SELECT convert(varchar, dateadd(dd, -day(dateadd(month, -1, getdate()))+1, dateadd(month, -1, getdate())), 111)

輸出:2017/12/01

-----------------------------------------------------------------------------------------------------------------------

Oracle語法:

取得上個月1號日期

SELECT to_date(to_char(add_months(SYSDATE, -1), 'YYYY-MM') || '-01', 'yyyy/mm/dd') from dual;

輸出:01-DEC-17

在格式化成 yyyy/mm/dd 

SELECT TO_CHAR(to_date(to_char(add_months(SYSDATE, -1), 'YYYY-MM') || '-01', 'yyyy/mm/dd'), 'yyyy/mm/dd') from dual;

輸出:2017/12/01

沒有留言: