[英]SQL (HUE) : Is there any way to convert 24 hrs time into 12 hrs AM / PM format with hours buckets
我有表A ,其中包含存儲為時間戳數據類型的列時間。
表 A:包含 24 小時格式的 HH:MM:SS 時間列。
Sample data below:
time
12:32:45
16:09:04
09:02:16
18:34:33
08:59:30
Now I want to create a bucket based on hours and adding AM/PM.
eg:
time between 00:00:00 - 00:59:00 = 12 AM,
01:00:00 - 01:59:00 = 01 AM,
14:00:00 - 14:59:00 = 02 PM and so on.
Desired Output :
time new_time
12:32:45 12 PM
16:09:04 04 PM
09:02:16 09 AM
18:34:33 06 PM
08:59:30 08 AM
請使用以下代碼。 將now()
替換為查詢的time
。
SELECT now(), lpad(CONCAT (
CAST (extract(hour from now()) + CASE WHEN extract(hour from now()) >12 THEN -12
WHEN extract(hour from now())=0 THEN 12
ELSE 0 END AS string) ,
CASE WHEN extract(hour from now()) >=12 THEN ' PM' ELSE ' AM' END),5,'0') as new_time
解釋 - 首先我檢查小時是否> 12。 如果是,則減去 12 得到小時。
然后根據小時設置 AM/PM。
lpad 用於確保您獲得 01 AM 格式的數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.