将24小时时间转换为12小时加上上午/下午指示Oracle SQL



我被要求做以下练习,我正在努力寻找解决方案:

编写SELECT语句,从Invoices表中返回以下列:

invoice_date列

使用TO_CHAR函数返回invoice_date列及其完整日期和时间,包括24小时上的四位数年份

使用TO_CHAR函数返回invoice_date列及其完整日期和时间,包括带有早/晚指示器的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指示器将写为A.M.(如果希望结果中包含时段)或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#NLSPG004.

'h'表示12小时格式,'hh'表示24小时格式,而'tt'表示AM/PM

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

相关内容

  • 没有找到相关文章

最新更新