【发布时间】:2019-10-28 19:21:44
【问题描述】:
我有一个表,其中有一列名为 ID_PRT_TM。例如,
SELECT TOP 10 ID
, ID_PRT_TM
FROM STG_OUT.example_table;
| ID | ID_PRT_TM |
+-------+-------------+
| 21018 | 641 |
| 20852 | 1056 |
| 24815 | 1442 |
| 20711 | 620 |
| 21554 | 1315 |
| 23341 | 936 |
| 21029 | 1056 |
| 20711 | 610 |
| 21555 | 918 |
| 20853 | 745 |
ID_PRT_TM 是一个表示小时和分钟的整数。例如,641 是上午 6:41,而 13:15 是下午 1:15。我想给他们增加三个小时,但不知道怎么做。
【问题讨论】:
-
ID_PRT_TM 上加 300 不就这么简单吗? SELECT TOP 10 ID, (ID_PRT_TM + 300) AS ID_PRT_TM FROM STG_OUT.example_table;
-
@KadeM。 .... 哇。我想你是对的。我肯定花了 3 个小时来过度复杂化。谢谢。
-
讽刺的是,简单的事情往往令人难以置信:)。这不考虑的一件事是翻转(即晚上 10 点 + 3 小时 = ?)...如果有可能,值得考虑。
-
有趣的地方。我的流程不会超过下午 5 点,所以我认为我还可以。
-
也许将其存储为时间/时间戳而不是整数?这样操作起来就容易多了。
标签: sql casting integer teradata