PL/SQL 類(lèi)型格式轉(zhuǎn)換
更新時(shí)間:2007年03月21日 00:00:00 作者:
TO_NUMBER(char[,'format_model']) 字符轉(zhuǎn)換到數(shù)字類(lèi)型
TO_DATE(char[,'format_model']) 字符轉(zhuǎn)換到日期類(lèi)型
格式說(shuō)明符:要與前邊要轉(zhuǎn)換的字符串的格式要相同才能轉(zhuǎn)換(匹配問(wèn)題:格式和位數(shù))。
TO_CHAR(date[,'format_model'[,nlsparams]])
第二個(gè)參數(shù)可以省略,不指定格式,按系統(tǒng)默認(rèn)格式輸出。
區(qū)分大小寫(xiě)。
使用FM(在格式控制符前添加)符號(hào)可以去掉空格或是首位的零。
如果指定了NLSPARAMS,則它控制返回字符串的月和日分量所使用的語(yǔ)言。格式為:
'NLS_DATA_LANGUAGE=language',language指需要的語(yǔ)言。
例:
select to_char(sysdate,'FMyyyy-mm-dd') from dual;
格式控制符的類(lèi)型:
YYYY 四位的年
YEAR 年的拼寫(xiě)
MM 2位數(shù)字的月
MONTH 月的全名
MON 月名的前三個(gè)字符
DY 星期名的前三個(gè)字符
DAY 星期名的全稱(chēng)
DD 2位的天
時(shí)間格式控制符:
HH24:MI:SS AM
HH12:MI:SS PM
通過(guò)“”來(lái)實(shí)現(xiàn)加入特殊字符的格式控制符。
SELECT TO_CHAR(SYSDATE,'FMyyyy"年"mm"月"dd"日"') from dual;
DDSPTH
~~
DD是格式控制符。
TH是序數(shù)詞,將日期轉(zhuǎn)換成英文的序數(shù)詞拼寫(xiě)。
SP是基數(shù)詞,將日期轉(zhuǎn)換成英文的基數(shù)詞拼寫(xiě)。
TO_CHAR(NUM[,'format_model'[,nlsparams]])轉(zhuǎn)換數(shù)字
將NUMBER類(lèi)型參數(shù)NUM轉(zhuǎn)換成VARCHAR2類(lèi)型。如果指定FORMAT,它會(huì)控制整個(gè)轉(zhuǎn)換。
如果沒(méi)有指定FORMAT,那么結(jié)果字符串中將包含和NUM中有效位的個(gè)數(shù)相同的字符。NLSPARAMS用來(lái)指定小數(shù)點(diǎn)和千分符及貨幣符號(hào)。它的格式可為:'NLS_NUMERIC_CHARS=' ' dg ' 'NLS_CURRENCY= ' 'string' ' '
d和g分別代表小數(shù)點(diǎn)和千分符。STRING代表貨幣符號(hào)。
數(shù)字格式控制符:
9 代表一位數(shù)字(替換符。有,數(shù)字顯示;沒(méi)有。不什么都顯示。)
0 代表一位數(shù)字(有數(shù)字,顯示;沒(méi)有,強(qiáng)制顯示0。)
$ 美圓符號(hào)
L 本地貨幣
. 小數(shù)點(diǎn)
, 千分符
B 當(dāng)整數(shù)部分為0時(shí),將整數(shù)部分填充為空格。 例:B999
MI 返回帶有后繼符號(hào)而不是前導(dǎo)負(fù)號(hào)的負(fù)數(shù)值,正數(shù)值將帶有后繼的空格。999MI
S 返回一個(gè)前導(dǎo)符號(hào)或后繼符號(hào),正數(shù)為+,負(fù)數(shù)為-。 S9999 或 9999S
PR 使用尖括號(hào)返回負(fù)數(shù)。正數(shù)將有前導(dǎo)或后繼空格。999PR
D 在指定位置返回一個(gè)小數(shù)點(diǎn)。兩側(cè)的9的個(gè)數(shù)指定了最大的位數(shù)。99D9
G 在指定位置返回千分符,G可以在FORMAT_model中出現(xiàn)多次。9G999G9
C 在指定位置返回ISO貨幣符號(hào)。C可以在FORMAT_model中出現(xiàn)多次。C99
L 在指定位置上返回本地貨幣符號(hào)。 L99
V 返回一個(gè)被乘以10的N次方的數(shù)值,這里N是V后邊9的個(gè)數(shù)。99V99
EEEE 使用科學(xué)記數(shù)法返回該數(shù)值。9.99EEEE
RM 使用大寫(xiě)的羅馬數(shù)字表示返回該數(shù)值。 RM
rm 使用小寫(xiě)的羅馬數(shù)字表示返回該數(shù)值。 rm
FM 返回不含前導(dǎo)和后繼空格的數(shù)值。 FM99.09
格式控制符位數(shù)一定要大于或等于NUMBER的位數(shù),不能小于。
TO_DATE(char[,'format_model']) 字符轉(zhuǎn)換到日期類(lèi)型
格式說(shuō)明符:要與前邊要轉(zhuǎn)換的字符串的格式要相同才能轉(zhuǎn)換(匹配問(wèn)題:格式和位數(shù))。
TO_CHAR(date[,'format_model'[,nlsparams]])
第二個(gè)參數(shù)可以省略,不指定格式,按系統(tǒng)默認(rèn)格式輸出。
區(qū)分大小寫(xiě)。
使用FM(在格式控制符前添加)符號(hào)可以去掉空格或是首位的零。
如果指定了NLSPARAMS,則它控制返回字符串的月和日分量所使用的語(yǔ)言。格式為:
'NLS_DATA_LANGUAGE=language',language指需要的語(yǔ)言。
例:
select to_char(sysdate,'FMyyyy-mm-dd') from dual;
格式控制符的類(lèi)型:
YYYY 四位的年
YEAR 年的拼寫(xiě)
MM 2位數(shù)字的月
MONTH 月的全名
MON 月名的前三個(gè)字符
DY 星期名的前三個(gè)字符
DAY 星期名的全稱(chēng)
DD 2位的天
時(shí)間格式控制符:
HH24:MI:SS AM
HH12:MI:SS PM
通過(guò)“”來(lái)實(shí)現(xiàn)加入特殊字符的格式控制符。
SELECT TO_CHAR(SYSDATE,'FMyyyy"年"mm"月"dd"日"') from dual;
DDSPTH
~~
DD是格式控制符。
TH是序數(shù)詞,將日期轉(zhuǎn)換成英文的序數(shù)詞拼寫(xiě)。
SP是基數(shù)詞,將日期轉(zhuǎn)換成英文的基數(shù)詞拼寫(xiě)。
TO_CHAR(NUM[,'format_model'[,nlsparams]])轉(zhuǎn)換數(shù)字
將NUMBER類(lèi)型參數(shù)NUM轉(zhuǎn)換成VARCHAR2類(lèi)型。如果指定FORMAT,它會(huì)控制整個(gè)轉(zhuǎn)換。
如果沒(méi)有指定FORMAT,那么結(jié)果字符串中將包含和NUM中有效位的個(gè)數(shù)相同的字符。NLSPARAMS用來(lái)指定小數(shù)點(diǎn)和千分符及貨幣符號(hào)。它的格式可為:'NLS_NUMERIC_CHARS=' ' dg ' 'NLS_CURRENCY= ' 'string' ' '
d和g分別代表小數(shù)點(diǎn)和千分符。STRING代表貨幣符號(hào)。
數(shù)字格式控制符:
9 代表一位數(shù)字(替換符。有,數(shù)字顯示;沒(méi)有。不什么都顯示。)
0 代表一位數(shù)字(有數(shù)字,顯示;沒(méi)有,強(qiáng)制顯示0。)
$ 美圓符號(hào)
L 本地貨幣
. 小數(shù)點(diǎn)
, 千分符
B 當(dāng)整數(shù)部分為0時(shí),將整數(shù)部分填充為空格。 例:B999
MI 返回帶有后繼符號(hào)而不是前導(dǎo)負(fù)號(hào)的負(fù)數(shù)值,正數(shù)值將帶有后繼的空格。999MI
S 返回一個(gè)前導(dǎo)符號(hào)或后繼符號(hào),正數(shù)為+,負(fù)數(shù)為-。 S9999 或 9999S
PR 使用尖括號(hào)返回負(fù)數(shù)。正數(shù)將有前導(dǎo)或后繼空格。999PR
D 在指定位置返回一個(gè)小數(shù)點(diǎn)。兩側(cè)的9的個(gè)數(shù)指定了最大的位數(shù)。99D9
G 在指定位置返回千分符,G可以在FORMAT_model中出現(xiàn)多次。9G999G9
C 在指定位置返回ISO貨幣符號(hào)。C可以在FORMAT_model中出現(xiàn)多次。C99
L 在指定位置上返回本地貨幣符號(hào)。 L99
V 返回一個(gè)被乘以10的N次方的數(shù)值,這里N是V后邊9的個(gè)數(shù)。99V99
EEEE 使用科學(xué)記數(shù)法返回該數(shù)值。9.99EEEE
RM 使用大寫(xiě)的羅馬數(shù)字表示返回該數(shù)值。 RM
rm 使用小寫(xiě)的羅馬數(shù)字表示返回該數(shù)值。 rm
FM 返回不含前導(dǎo)和后繼空格的數(shù)值。 FM99.09
格式控制符位數(shù)一定要大于或等于NUMBER的位數(shù),不能小于。
相關(guān)文章
解決navicat 鏈接oracle時(shí)出現(xiàn)的各種問(wèn)題
這篇文章主要介紹了解決navicat 鏈接oracle時(shí)出現(xiàn)的各種問(wèn)題,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-08-08PL/SQL Developer連接64位的Oracle圖文教程
這篇文章主要為大家詳細(xì)介紹了PL/SQL Developer連接64位的Oracle圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03查看oracle數(shù)據(jù)庫(kù)的編碼及修改編碼格式的方法
本節(jié)主要介紹了如何查看oracle數(shù)據(jù)庫(kù)的編碼及修改編碼格式,需要的朋友可以參考下2014-07-07Oracle 遍歷游標(biāo)的四種方式匯總(for、fetch、while、BULK COLLECT)
這篇文章主要介紹了Oracle 遍歷游標(biāo)的四種方式匯總(for、fetch、while、BULK COLLECT),幫助大家更好的理解和使用Oracle數(shù)據(jù)庫(kù),感興趣的朋友可以了解下2020-10-10PLSQL?Developer13.0.4最新注冊(cè)碼和使用教程詳解
PL/SQL?Developer?13是一個(gè)集成開(kāi)發(fā)環(huán)境,專(zhuān)門(mén)用于開(kāi)發(fā)?Oracle?數(shù)據(jù)庫(kù)的存儲(chǔ)程序單元。這篇文章主要介紹了PLSQL?Developer13.0.4注冊(cè)和使用教程,需要的朋友可以參考下2021-12-12[Oracle] 如何使用觸發(fā)器實(shí)現(xiàn)IP限制用戶登錄
在Oracle里,不像MySQL那樣方便,可以直接在用戶上進(jìn)行IP限制,Oracle要實(shí)現(xiàn)用戶級(jí)別的IP限制,可以使用觸發(fā)器來(lái)迂回實(shí)現(xiàn),以下就是示例,需要的朋友可以參考下2013-07-07Oracle?function函數(shù)返回結(jié)果集的3種方法
工作中常需要經(jīng)過(guò)一段復(fù)雜邏輯處理后,得出的一個(gè)結(jié)果集,所以這篇文章主要給大家介紹了關(guān)于Oracle?function函數(shù)返回結(jié)果集的3種方法,需要的朋友可以參考下2023-07-07