2013-02-20 62 views
7

Tôi cần phải làm như sau như một bài tập, và tôi đang phải vật lộn để tìm một giải pháp:Chuyển đổi 24 lần Giờ đến 12 Giờ cộng AM/PM chỉ Oracle SQL

Viết một câu lệnh SELECT trả về các cột từ bảng Hoá đơn:

các invoice_date cột

Sử dụng chức năng TO_CHAR để trả lại cột invoice_date với ngày đầy đủ của nó và thời gian bao gồm một năm có bốn chữ số trên đồng hồ 24 giờ

Sử dụng chức năng TO_CHAR để trở về t cột invoice_date có ngày và giờ đầy đủ bao gồm năm gồm bốn chữ số trên đồng hồ 12 giờ với chỉ báo am/pm.

Sử dụng chức năng CAST để trả lại cột invoice_date như VARCHAR2 (10)

Tất cả tôi có thể nhận được là:

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

nào được hai cột đầu tiên của tôi, tuy nhiên tôi không thể tìm ra bất kỳ cách để chọn cột thứ ba. Bất kỳ trợ giúp nào cũng tuyệt vời, cảm ơn. (Và có, đây là sách giáo khoa của trường tôi)

+0

Bản sao có thể có của [Oracle to \ _date với pm/am] (http://stackoverflow.com/questions/27269903/oracle-to-date-with-pmam) –

Trả lời

22

Trong thời gian 24 giờ, bạn cần sử dụng HH24 thay vì HH.

Trong thời gian 12 giờ, chỉ báo AM/PM được viết là A.M. (nếu bạn muốn kết quả trong khoảng thời gian) hoặc AM (nếu không). Ví dụ:

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 
; 

Để biết thêm thông tin về các mô hình định dạng mà bạn có thể sử dụng với TO_CHAR vào một ngày, xem http://docs.oracle.com/cd/E16655_01/server.121/e17750/ch4datetime.htm#NLSPG004.

+0

Cảm ơn bạn, đó là những gì tôi cần biết –

+0

@Galen_GG: Bạn được chào đón! – ruakh

+0

@Galen_GG Trên thực tế, đối với định dạng thời gian 12 giờ, thường tốt hơn * không * để bao gồm số 0 đứng đầu ở định dạng giờ đầu ra ('03:50 PM' có vẻ sai, vì số 0 đầu tiên ngụ ý đồng hồ 24 giờ nhiều nhất các trường hợp!!). Do đó tốt hơn nên sử dụng: 'TO_CHAR (invoice_date, 'DD-MM-YYYY FMHH: MI: SS AM')" Ngày 12Hr " – cartbeforehorse

Các vấn đề liên quan