簡體   English   中英

將 24 小時制轉換為 12 小時制加上 AM/PM 指示 Oracle SQL

[英]Convert 24 Hour time to 12 Hour plus AM/PM indication Oracle SQL

我需要做以下練習,我正在努力尋找解決方案:

編寫一個 SELECT 語句,從 Invoices 表中返回這些列:

發票日期列

使用 TO_CHAR 函數返回 invoice_date 列及其完整的日期和時間,包括 24 小時制的四位數年份

使用 TO_CHAR 函數返回invoice_date 列及其完整的日期和時間,包括帶有 am/pm 指示器的 12 小時制的四位數年份。

使用 CAST 函數將 invoice_date 列返回為 VARCHAR2(10)

我所能得到的是:

    select invoice_date, to_char(invoice_date, 'DD-MM-YYYY HH:MM:SS') "Date 24Hr"
    from invoices

這得到了我的前兩列,但是我想不出任何方法來選擇第三列。 任何幫助都會很棒,謝謝。 (是的,這是我的學校教科書)

對於 24 小時制,您需要使用HH24而不是HH

對於 12 小時制,AM/PM 指示符寫為AM (如果您想要結果中的句AM )或AM (如果您不想要)。 例如:

SELECT invoice_date,
       TO_CHAR(invoice_date, 'DD-MM-YYYY HH24:MI:SS') "Date 24Hr",
       TO_CHAR(invoice_date, 'DD-MM-YYYY HH:MI:SS AM') "Date 12Hr"
  FROM invoices
;

有關可在日期上與TO_CHAR一起使用的格式模型的更多信息,請參閱http://docs.oracle.com/cd/E16655_01/server.121/e17750/ch4datetime.htm#NLPG004

'hh' 代表 12 小時制,'HH' 代表 24 小時制,'tt' 代表 AM/PM

SELECT FORMAT(invoice_date, N'dd-MMM-yyyy hh:mm:ss tt')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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