[英]How to make the select statement show only 'PM' and not 'AM' when selecting hour from a time stamp
我需要編寫一條只顯示PM但不顯示AM的select語句。 我仍然想顯示AM結果。但是小時部分之后沒有'AM'。
例如..我不想顯示8 AM,而只希望顯示8 PM,但如果要顯示7 PM,我希望顯示為7 PM。
我該如何實現?
我試過了,但是這樣可以同時給我AM和PM。但是我只希望PM顯示。
select to_char(po.pick_date,'HH12 PM') as Hour from tableA where x = y;
在select語句中可以這樣做嗎? 還是我需要其他方法從結果集中剔除AM?
一種方法使用replace()
:
select replace(to_char(po.pick_date, 'HH12 PM'), ' AM', '') as Hour
from tableA
where x = y;
基於to_char()
的使用,我推測您的數據庫是Oracle還是Postgres。
一般而言,由於您的RDBMS提供程序存在疑問,請回答:
假設您的提供者具有日期格式化功能,則您應該可以執行以下操作:
當時間部分為am THEN 格式且無am / pm后綴的情況時 ELSE 格式為am / pm后綴 END
或類似的東西
時間為pm的 情況下,連接不帶am / pm后綴的格式(帶CASE)THEN“ PM” ELSE“” END
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.