顯示具有 SQL 標籤的文章。 顯示所有文章
顯示具有 SQL 標籤的文章。 顯示所有文章

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

2017年4月19日 星期三

[Oracle] 判斷欄位是否為NULL的方法

SELECT NVL(欄位A, 欄位B or String) FROM TABLE

當欄位A為 NULL 時會填入 欄位B,或指定的字串

當使用 left join 時補資料也可以使用

PS:此語法為 Oracle 專用 MSSQL 不支援