首页 > oracle与sqlserver关于取日期年,月,日的情况。

oracle与sqlserver关于取日期年,月,日的情况。

用sqlserver去实现查询某一旬的数据,用的day去实现。
例如:

if  day('${endDT}')<=10
(SELECT stockBox,stockCard  from IC_BalanceUpload where FinDT=dateAdd(dd, -day('${endDT}')+1, '${endDT}') and offStaID=${orgCode}) 
else IF  day('${endDT}')<=20
(SELECT stockBox,stockCard  from IC_BalanceUpload where FinDT=dateAdd(dd, -day('${endDT}')+11, '${endDT}') and offStaID=${orgCode}) 
ELSE
(SELECT stockBox,stockCard  from IC_BalanceUpload where FinDT=dateAdd(dd, -day('${endDT}')+21, '${endDT}') and offStaID=${orgCode})

现在要转为oracle的,发现oracle中可以有两种实现sqlsever中类似于day函数。
第一种:

select extract(day from to_date('2015-4-29','yyyy-mm-dd')) as dd from dual;

第二种:

Select to_char(to_date('2015-4-29','yyyy-mm-dd'),'dd') as dd from dual;

相对于第二种来讲,第一种方法省去类型转换,更加简洁一点。相应的转换sqlserver中的month或者year函数的时候可以用yyyy和mm来代替。

关于oracle中根据日期取不同旬数据,我还是像第一段sql一样根据取日期去分别判断的,不知道除此之外还有没有更好的方法去实现,求推荐。ps:不用自定义函数之类。


去实现查询某一旬的数据,用的day去实现。

【热门文章】
【热门文章】