我需要做以下练习,而我正在努力寻找解决方案:
编写一条SELECT语句,从Invoices表返回这些列:
invoice_date列
使用TO_CHAR函数返回带有完整日期和时间的invoice_date列,其中包括24小时制的四位数年份
使用TO_CHAR函数可返回带有完整日期和时间的invoice_date列,其中包括 12小时制带有am / pm指示器 的四位数年份。
使用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。
HH24
HH
在12小时的时间内,AM / PM指示符写为A.M.(如果要在结果中加上句点)或AM(如果不需要)。例如:
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。
TO_CHAR