sql – trunc(date,’IW’)究竟是什么?

对于我的项目,我需要在星期几和1 … 7值之间建立绝对的数字对应关系.

您可能知道天数和数字之间的关联可能因地区而异,例如德国周一是1,周日是7,而美国周一是2,周日是1.

因此,在搜索解决方案时,我发现以下代码看起来无论区域设置如何都有效,分配星期一= 1 …星期日= 7:

1 + TRUNC (date) - TRUNC (date, 'IW')

有人可以解释一下它是如何工作的吗?特别是我无法理解这条指令是什么:

TRUNC (date, 'IW')

确切地说.

最佳答案
像往常一样,这是answered in the documentation,特别是:

IW Same day of the week as the first day of the ISO week, which is Monday

转载注明原文:sql – trunc(date,’IW’)究竟是什么? - 代码日志