2013-02-20 5 views
7

Я обязан сделать следующее в качестве упражнения, и я изо всех сил, чтобы найти решение:Преобразовать 24 час время 12 час плюс AM Индикация/PM Oracle SQL

Написать ЗЕЬЕСТ, который возвращает эти столбцы Счета-фактуры стол:

invoice_date колонка

Используйте функцию TO_CHAR вернуть столбец invoice_date с полной даты и времени, включая год четырехзначным на 24-часовом

Используйте функцию TO_CHAR вернуть t он столбец 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 

который получает свои первые две колонки, но я не могу понять, какой-либо способ выбора третьего столбца. Любая помощь будет большой, спасибо. (И да, это из моего школьного учебника)

+0

Возможный дубликат [Oracle to \ _date с pm/am] (http://stackoverflow.com/questions/27269903/oracle-to-date-with-pmam) –

ответ

22

Для 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.

+0

Спасибо, это то, что мне нужно знать –

+0

@Galen_GG: Добро пожаловать! – ruakh

+0

@Galen_GG На самом деле, для 12-часового формата времени, как правило, лучше * не * включать ведущий ноль в формате выходного часа ('03:50 PM' просто выглядит неправильно, так как ведущий ноль подразумевает 24-часовой такт в большинстве случаи !!). Поэтому лучше использовать: «TO_CHAR (invoice_date,« DD-MM-YYYY FMHH: MI: SS AM »)« Date 12Hr »' – cartbeforehorse

Смежные вопросы