首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle10g中的YEARWEEK()?

Oracle10g中的YEARWEEK()?
EN

Stack Overflow用户
提问于 2011-09-15 17:59:34
回答 2查看 2.6K关注 0票数 0

在MySql中,我可以使用YEARWEEK()在一个字符串中接收这周的星期和相关年份。(例如,SELECT YEARWEEK('1987-01-01');通向"198653")。

在Oracle10g中有类似的东西吗?

我只知道TO_CHAR函数。但是如果我使用TO_CHAR(sysdate, 'YYYYIW');,我会得到198753而不是198653。那么,我如何才能正确地计算这个值呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-15 18:13:25

TO_CHAR()中使用IYYYIW格式会有什么不同吗?注意开头的"I“而不是第一个"Y",它是基于国际标准化组织标准的4位数年份。

票数 3
EN

Stack Overflow用户

发布于 2011-09-15 18:24:27

我不能重现Oracle返回198753的例子。

select TO_CHAR(DATE '1987-01-01', 'YYYYIW') from dual为我返回了198701,根据ISO对周数的定义,它是正确的。

Oracle有另一个格式掩码WW (而不是IW),它将一年中第一天所在的星期用作week #1 -它将再次返回1月1日的week #1。

看看这里:http://en.wikipedia.org/wiki/Week_number#Week_numbering

我发现MySQL的周数字实际上有点奇怪,因为我知道没有一种周编号方案会在1987年1月1日返回第53周(但这并不意味着太多……)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7429061

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档