1. 程式人生 > >oracle 條件查詢當天、當週、當月、當季度

oracle 條件查詢當天、當週、當月、當季度

Oracle 


欄位型別為varchar2,格式要與格式化的樣式匹配 
當天 
select * from 表名 where to_char(to_date(欄位名,'yyyy-mm-dd hh24:mi:ss'),'dd')=to_char(sysdate,'dd') 
當週 
select * from 表名 where to_char(to_date(欄位名,'yyyy-mm-dd hh24:mi:ss'),'iw')=to_char(sysdate,'iw') 
當月 
select * from 表名 where to_char(to_date(欄位名,'yyyy-mm-dd hh24:mi:ss'),'mm')=to_char(sysdate,'mm') 
當季度 
select * from 表名 where to_char(to_date(欄位名,'yyyy-mm-dd hh24:mi:ss'),'q')=to_char(sysdate,'q') 

欄位型別為date

 
當天 
select * from 表名 where to_char(欄位名,'dd')=to_char(sysdate,'dd') 
當週 
select * from 表名 where to_char(欄位名,'iw')=to_char(sysdate,'iw') 
當月 
select * from 表名 where to_char(欄位名,'mm')=to_char(sysdate,'mm') 
當季度 
select * from 表名 where to_char(欄位名,'q')=to_char(sysdate,'q') 

sql Server

當天 
select * from 表名 where DATEPART(dd,欄位名) = DATEPART(dd, GETDATE()) and DATEPART(mm, 欄位名) = DATEPART(mm, GETDATE()) and DATEPART(yy, 欄位名) = DATEPART(yy, GETDATE()) 
當週 
select * from 表名 where DATEPART(wk, 欄位名) = DATEPART(wk, GETDATE()) and DATEPART(yy, 欄位名) = DATEPART(yy, GETDATE()) 
當月 
select * from 表名 where DATEPART(mm, 欄位名) = DATEPART(mm, GETDATE()) and DATEPART(yy, 欄位名) = DATEPART(yy, GETDATE()) 
當季度 
select * from 表名 where DATEPART(qq, 欄位名) = DATEPART(qq, GETDATE()) and DATEPART(yy,欄位名) = DATEPART(yy, GETDATE())