gpt4 book ai didi

Oracle 10g 数据库日期转换为 'yyyy-iw' 问题?

转载 作者:行者123 更新时间:2023-12-04 05:16:15 25 4
gpt4 key购买 nike

我不确定这是一个问题,还是更多的是对可能的错误的探索,或者是关于更好的处理方法的问题。

我有一个汇总报告,使用

select column1id, column2date
from table1
where to_char(column2date,'yyyy-iw') = to_char(to_date('2012-12-31','yyyy-mm-dd'),'yyyy-iw')

线路: to_char(to_date('2012-12-31','yyyy-mm-dd'),'yyyy-iw')正在转换到 2012-01,回到年初。

进一步挖掘我发现日期 2012-12-31 既不包含在周中:2012-52 也不包含在 2013-01 中,并且 2012-53 也不返回任何数据......所以我不知所措。

最佳答案

https://forums.oracle.com/forums/thread.jspa?threadID=995899
拉维·库马尔 写道:您需要在格式中使用 YYYY。
蓝光写道: ...当它计算 YYYY 和 IW 时,它们彼此独立,因此它不会仅仅因为您在格式掩码中包含了 IW 就将 YYYY 输出减少到 [2013]。它着眼于面具的组成部分,而不是整个事物的组合。

select to_char(to_date('2012-12-31','yyyy-mm-dd'),'iyyy-iw') from dual;

返回 2013-01。

我认为你的 WHERE 子句应该是:
where to_char(column2date,'iyyy-iw') = to_char(to_date('2012-12-31','yyyy-mm-dd'),'iyyy-iw')

关于Oracle 10g 数据库日期转换为 'yyyy-iw' 问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14226305/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com