【发布时间】:2017-06-03 16:20:04
【问题描述】:
我有 70.000 行数据,包括一个日期时间列 (YYYY-MM-DD HH24-MM-SS.)。 我想将此数据拆分为 3 个单独的列;小时、日期和周数。
日期时间列名称是“CONTRACTS”表中的“REGISTRATIONDATE”。
这是我迄今为止的日期和小时列:
SELECT substr(REGISTRATIONDATE, 0, 10) AS "Date",
substr(REGISTRATIONDATE, 11, 9) AS "Hour"
FROM CONTRACTS;
我已经看到了获取特定日期的周数的选项,这个任务涉及 70.000 个日期,所以这不是一个选项。
【问题讨论】:
-
日期的“周数”没有标准定义。你是什么意思?不过,Oracle 有自己的理解……如果您想要的好答案已经提供了。
-
使用“周数”我的意思是一年有 52 周,我想有一个列来说明适合日期的周数(例如今天 2017/06/03 是周数22).
-
提供的答案可能就足够了,但还要检查我链接的可能重复项。很大程度上取决于您如何定义第 1 周。它是从 1 月 1 日开始,还是从 1 月的第一个星期一开始或其他什么...尝试各种选项,如果它们都不起作用,然后再回来更准确地说明您的需求。跨度>
-
我已经尝试了大约 20 种不同的选项来说明如何做到这一点(我正在学习 SQL),每次我得到适合您需要特定日期的周数的选项时。我有 70.000 个日期,所以可能不太方便。我所说的“周数”是指第 1 周从 1 月的第一个星期一开始。此时我已经有了“小时”和“日”列。我想创建一行代码,让我在第三行显示周数,适合日期。我希望这更准确。