我需要做以下练习,我很难找到解决方案:
编写一个SELECT语句,从发票表中返回这些列:
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.
对于12小时时间,AM / PM指示符写为A.M. (如果你想要结果中的句点)或AM(如果你不想).例如:
SELECT invoice_date,TO_CHAR(invoice_date,'DD-MM-YYYY HH24:MI:SS') "Date 24Hr",'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.