2021年12月29日 星期三

T-SQL 取第一天與最後一天

   

SELECT 

DATEADD(YEAR, DATEDIFF(YEAR,0,GETDATE())-6,0) N年第一天

,DATEADD(YEAR, DATEDIFF(YEAR, 0, GETDATE()), 0) 年第一天

,DATEADD(QUARTER, DATEDIFF(QUARTER, 0, GETDATE()), 0) 季第一天

,DATEADD(M, DATEDIFF(M,0,GETDATE())-10,0) 年第2個月第一天

,DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()), 0) 月第一天

,DATEADD(WEEK, DATEDIFF(WEEK, 0, GETDATE()), 0) 周第一天

,DATEADD(MILLISECOND, -2, DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) + 1, 0)) 月最後一天2359

,EOMONTH ( GETDATE(),0 ) 月最後一天

2021年11月8日 星期一

Oracle 單筆紀錄欄位與欄位取最大GREATEST ,取最小LEASE

 Oracle 使用 GREATEST(值[欄位]1, 值[欄位]2, ... 值[欄位]_n) 可以取得最大值,反之取最小LEASE

2021年7月14日 星期三

Oracle PL SQL 中使用: 與 & 變數

 Oracle PL SQL 中使用: 與 & 變數

with qq as (select 'A' col1,1 col2 from dual

union all select 'A' col1,2 col2 from dual

union all select 'B' col1,1 col2 from dual

union all select 'B' col1,2 col2 from dual

union all select 'C' col1,1 col2 from dual

union all select 'C' col1,2 col2 from dual)

select * from qq  where col1=:col1

單一變數放 字串A 時 select * from qq  where col1=:col1 結果為

COL1,COL2

A,1

A,2

單一變數放數值 2 時 select * from qq  where col2=:col2 結果為

COL1,COL2

A,2

B,2

C,2


當變數字串要在清單'A','B'時 select * from qq where col1 in (&col1) 

COL1,COL2

A,1

A,2

B,1

B,2

當變數數值要在清單1,2時 select * from qq where col2 in (&col2) 
COL1,COL2
A,1
A,2
B,1
B,2
C,1
C,2