我尝试使用'YYYY-WW-D'函数将日期字符串(年份、周、周的日期)转换为日期。
我得到了以下结果(demo:db<>fiddle):
date string | to_date()
-------------------------
'2019-1-1' | 2019-01-01
'2019-1-2' | 2019-01-01
'2019-1-3' | 2019-01-01
'2019-1-4' | 2019-01-01
'2019-1-5' | 2019-01-01
'2019-1-6' | 2019-01-01
'2019-1-7' | 2019-01-01
'2019-2-1' | 2019-01-08
'2019-2-2' | 2019-01-08我不清楚,为什么一周中的每一天都是相同的日期。
如果我采用的是ISO格式('IYYY-IW-ID'),这就像预期的那样(demo:db<>fiddle):
date string | to_date()
-------------------------
'2019-1-1' | 2018-12-31
'2019-1-2' | 2019-01-01
'2019-1-3' | 2019-01-02
'2019-1-4' | 2019-01-03
'2019-1-5' | 2019-01-04
'2019-1-6' | 2019-01-05
'2019-1-7' | 2019-01-06
'2019-2-1' | 2019-01-07
'2019-2-2' | 2019-01-08为什么它适用于ISO模式,而不是标准模式?我在这里错过了什么?
发布于 2019-10-03 08:31:38
此行为已记录在案:
在
to_timestamp和to_date中,工作日名称或数字(DAY、D和相关字段类型)被接受,但为计算结果而被忽略。季度(Q)字段也是如此。
https://dba.stackexchange.com/questions/250111
复制相似问题