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:不用自定义函数之类。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
去实现查询某一旬的数据,用的day去实现。