对于我的项目,我需要在一周中的几天和1…7个值之间有一个绝对的数字对应关系。
正如您可能知道的,日期和数字之间的关联可以根据地区的不同而有所不同,例如在德国,星期一是1,星期日是7,而在美国,星期一是2,星期日是1。
因此,在寻找解决方案时,我找到了以下代码,它似乎无论在哪种语言环境下都能正常工作,赋值Monday=1...Sunday=7:
1 + TRUNC (date) - TRUNC (date, 'IW')
有人能给我解释一下它是怎么工作的吗?特别是,我就是不能理解这个指令:
TRUNC (date, 'IW')
确实如此。
发布于 2017-02-22 01:31:54
TRUNC(DATE,'IW')
返回一周的第一天。对我来说,TRUNC(SYSDATE,'IW)
周一就回来了。今天是2月21日星期二。从20号星期一的TRUNC(SYSDATE,'IW')
中减去,你会得到1
(因为21-20=1
)。在上面加上1
,就像你在方程式开始时所做的那样,你会得到2
,我们把它与星期二联系在一起。
发布于 2015-09-16 16:43:09
https://stackoverflow.com/questions/32603365
复制相似问题