Oracle10g中的YEARWEEK()?

Oracle10g中的YEARWEEK()?,oracle10g,sql-date-functions,to-char,Oracle10g,Sql Date Functions,To Char,在MySql中,我可以使用YEARWEEK在一个字符串中接收本周和本周的相关年份。例如,选择YEARWEEK'1987-01-01';这导致了198653年 Oracle10g中有类似的东西吗 我只知道TO_CHAR函数。但如果我用“yyyyw”来表示日期;我收到的是198753而不是198653。那么,我如何才能正确地计算出这个值呢?使用iyyiw格式和to_CHAR有什么区别吗?请注意开头的I而不是第一个Y,它是基于ISO标准的4位数年份。使用带TO_CHAR的iyyiw格式有什么区别吗?请

在MySql中,我可以使用YEARWEEK在一个字符串中接收本周和本周的相关年份。例如,选择YEARWEEK'1987-01-01';这导致了198653年

Oracle10g中有类似的东西吗


我只知道TO_CHAR函数。但如果我用“yyyyw”来表示日期;我收到的是198753而不是198653。那么,我如何才能正确地计算出这个值呢?

使用iyyiw格式和to_CHAR有什么区别吗?请注意开头的I而不是第一个Y,它是基于ISO标准的4位数年份。

使用带TO_CHAR的iyyiw格式有什么区别吗?请注意开头的I而不是第一个Y,它是基于ISO标准的4位数年份。

我无法重现Oracle返回198753的示例

根据ISO对周数的定义,从双返回198701中为我选择“1987-01-01”“YYYYW”,这是正确的

Oracle有另一种格式掩码WW,而不是IW,它将一年中第一天所在的一周作为第1周,这同样会返回1月1日的第1周

请看这里:


实际上,我觉得MySQL的周数有点奇怪,因为我知道没有一个周数方案会在1987年1月1日返回第53周,但这并不意味着什么

我无法重现您的示例,即Oracle返回198753

根据ISO对周数的定义,从双返回198701中为我选择“1987-01-01”“YYYYW”,这是正确的

Oracle有另一种格式掩码WW,而不是IW,它将一年中第一天所在的一周作为第1周,这同样会返回1月1日的第1周

请看这里:


实际上,我觉得MySQL的周数有点奇怪,因为我知道没有一个周数方案会在1987年1月1日返回第53周,但这并不意味着什么

对不起,我写错了年份号。试试1988年而不是1987年。看看ain的答案。“IYYIW”返回你想要的。对不起,我写错了年份号。试试1988年而不是1987年。看看ain的答案。“iyyiw”返回您想要的内容