這是我的表:
表名EXAMPLE
列名DATE
這是以下查詢的輸出結果:
SELECT date
FROM 示例。
1/23/2010
我想把輸出轉換為:
23-Jan10
這可能嗎?
謝謝
uj5u.com熱心網友回復:
你可以使用格式化與TO_CHAR()轉換,如
SELECT TO_CHAR(dt,'DD-Mon-R')
FROM示例
where
DATE作為一個保留的關鍵字,對一個列來說不是一個好名字。所以,我用dt代替了它。
uj5u.com熱心網友回復:
如果你的列是varchar/text...,那么你可以先轉換為date,然后再轉回char
SELECT
TO_CHAR(
to_date('1/23/2010','mm/dd/yyyy'),'DD-Mon-YY')
)
datec FROM雙。
如果是日期格式,to_char就可以了
SELECT
TO_CHAR(date_column, 'DD-Mon-YY'/span> )
datec FROM dual;
uj5u.com熱心網友回復:
一個DATE資料型別是一種二進制格式,它存盤在7個位元組中,沒有格式,并且總是包含組件:年(存盤為世紀和世紀之年),月,日,小時,分鐘和秒。
因此,你不能改變DATE資料型別的格式。
如果相反,你問的問題是:
如何格式化一個DATE以將其輸出為23-Jan-10?
那么你可以使用TO_CHAR函式將DATE轉換為一個格式化的字串:
SELECT TO_CHAR(your_date_column, 'DD-Mon-YY', 'NLS_DATE_LANGUAGE=English')
AS formatted_date
FROM your_table;
另外,如果你希望輸出為DATE資料型別,那么你可以使用:
SELECT your_date_column
FROM your_table;
并改變你所使用的用戶界面(SQL/Plus、SQL Developer、Toad、PLSQLDeveloper、PHP、Java等),以改變該用戶界面的日期顯示方式。解決方案取決于你使用的用戶界面,但對于SQL/Plus和SQL Developer,你可以改變Oracle的NLS_DATE_FORMAT會話引數:
ALTER SESSION SET NLS_DATE_FORMAT = 'DD-Mon-Y';
其他的用戶界面將有不同的解決方案,具體到這些界面。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/324990.html
標籤:
