Teradata SQL - 如何将小时数加到整数上?
Teradata SQL - How do I add hours to an integer?
我有一个 table,其中有一列名为 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 下午。我想给他们增加三个小时,但不知道该怎么做。
可以加300:
select id_prt_tm + 300
如果你的工作时间限制在 2400 小时,那么使用更高级的逻辑:
select (case when id_prt_tm < 2100 then id_prt_tm + 300
else id_prt_tm - 2100
end)
或者更难以理解:
select (id_prt_tm + 300) mod 2400
我有一个 table,其中有一列名为 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 下午。我想给他们增加三个小时,但不知道该怎么做。
可以加300:
select id_prt_tm + 300
如果你的工作时间限制在 2400 小时,那么使用更高级的逻辑:
select (case when id_prt_tm < 2100 then id_prt_tm + 300
else id_prt_tm - 2100
end)
或者更难以理解:
select (id_prt_tm + 300) mod 2400