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

发布于 2022-09-01 06:52:40 字数 986 浏览 16 评论 0

用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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

仲春光 2022-09-08 06:52:40

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文