簡體   English   中英

從時間戳中選擇小時時,如何使select語句僅顯示“ PM”而不顯示“ AM”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM