我有COL_1作爲時間戳,看起來像這樣的5:04:00。我想把它看成是這樣的05:00:00。Teradata的回合時間爲5分鐘
所以基本上輪到一個5分鐘的桶。並且,如果需要,將前導零加到小時。
含義,五個01分00秒變爲05:00:00
14時59分00秒 - > 14:55:00
14時51分零零秒 - > 14:50 :00
7時13分00秒 - > 7點十分00秒
我有COL_1作爲時間戳,看起來像這樣的5:04:00。我想把它看成是這樣的05:00:00。Teradata的回合時間爲5分鐘
所以基本上輪到一個5分鐘的桶。並且,如果需要,將前導零加到小時。
含義,五個01分00秒變爲05:00:00
14時59分00秒 - > 14:55:00
14時51分零零秒 - > 14:50 :00
7時13分00秒 - > 7點十分00秒
爲什麼你將它存儲在VarChar而不是Time或Interval中?
CAST(col AS TIME(0) FORMAT 'hh:mi') -
((EXTRACT (MINUTE FROM
CAST(col AS TIME(0) FORMAT 'hh:mi')
) MOD 5
) * INTERVAL '1' MINUTE
)
太棒了!這工作! – ASuit
試試這個
CAST(TO_CHAR(INPUT_TS,'YYYY-MM-DD') || ' ' ||
CASE WHEN EXTRACT(MINUTE FROM INPUT_TS) > 30 THEN
TRIM(TO_CHAR(EXTRACT(HOUR FROM INPUT_TS) + 1,'00'))
ELSE TRIM(TO_CHAR(EXTRACT(HOUR FROM INPUT_TS) ,'00'))
END || ':00:00' AS TIMESTAMP(6)) AS YOUR_TS
格式的要求。
這實際上是一個時間戳嗎?時間戳包含日期部分。有沒有秒,只有幾分鐘? – dnoeth
我的不好!它的VARCHAR(5) – ASuit
沒有秒。在Teradata SQL Assistant中,該列實際上看起來像5:00凌晨5點。 - @ dnoeth – ASuit