好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Oracle to_char函數的使用方法

Oracle to_char函數的使用方法

熱門標簽:車瑪仕極限運動場所地圖標注 廣東營銷智能外呼系統商家 地圖標注怎么保存 騰訊地圖標注要費用嗎 高德地圖標注公司名字大全 電渠外呼系統 外呼電話系統用卡嗎 N個你智能電銷機器人 七日殺a19.5全地圖標注

Oracle to_char函數的功能是將數值型或者日期型轉化為字符型,下面就為您詳細介紹Oracle to_char函數的使用,希望對您能有所幫助。

Postgres 格式化函數提供一套有效的工具用于把各種數據類型(日期/時間,int,float,numeric)轉換成格式化的字符串以及反過來從格式化的字符串轉換成原始的數據類型。
注意:所有格式化函數的第二個參數是用于轉換的模板。

表 5-7. 格式化函數

函數 返回 描述 例子
to_char(timestamp, text) text 把 timestamp 轉換成 string to_char(timestamp 'now','HH12:MI:SS')
to_char(int, text) text 把 int4/int8 轉換成 string to_char(125, '999')
to_char(float, text) text 把 float4/float8 轉換成 string to_char(125.8, '999D9')
to_char(numeric, text) text 把 numeric 轉換成 string to_char(numeric '-125.8', '999D99S')
to_date(text, text) date 把 string 轉換成 date to_date('05 Dec 2000', 'DD Mon YYYY')
to_timestamp(text, text) date 把 string 轉換成 timestamp to_timestamp('05 Dec 2000', 'DD Mon YYYY')
to_number(text, text) numeric 把 string 轉換成 numeric to_number('12,454.8-', '99G999D9S')

表 5-8. 用于 date/time 轉換的模板

模板 描述
HH 一天的小時數 (01-12)
HH12 一天的小時數 (01-12)
HH24 一天的小時數 (00-23)
MI 分鐘 (00-59)
SS 秒 (00-59)
SSSS 午夜后的秒 (0-86399)
AM or A.M. or PM or P.M. 正午標識(大寫)
am or a.m. or pm or p.m. 正午標識(小寫)
Y,YYY 帶逗號的年(4 和更多位)
YYYY 年(4和更多位)
YYY 年的后三位
YY 年的后兩位
Y 年的最后一位
BC or B.C. or AD or A.D. 年標識(大寫)
bc or b.c. or ad or a.d. 年標識(小寫)
MONTH 全長大寫月份名(9字符)
Month 全長混合大小寫月份名(9字符)
month 全長小寫月份名(9字符)
MON 大寫縮寫月份名(3字符)
Mon 縮寫混合大小寫月份名(3字符)
mon 小寫縮寫月份名(3字符)
MM 月份 (01-12)
DAY 全長大寫日期名(9字符)
Day 全長混合大小寫日期名(9字符)
day 全長小寫日期名(9字符)
DY 縮寫大寫日期名(3字符)
Dy 縮寫混合大小寫日期名(3字符)
dy 縮寫小寫日期名(3字符)
DDD 一年里的日子(001-366)
DD 一個月里的日子(01-31)
D 一周里的日子(1-7;SUN=1)
W 一個月里的周數
WW 一年里的周數
CC 世紀(2 位)
J Julian 日期(自公元前4712年1月1日來的日期)
Q 季度
RM 羅馬數字的月份(I-XII;I=JAN)-大寫
rm 羅馬數字的月份(I-XII;I=JAN)-小寫

所有模板都都允許使用前綴和后綴修改器。模板里總是允許使用修改器。前綴 'FX' 只是一個全局修改器。

表 5-9. 用于日期/時間模板 to_char() 的后綴

后綴 描述 例子
FM 填充模式前綴 FMMonth
TH 大寫順序數后綴 DDTH
th 小寫順序數后綴 DDTH
FX 固定模式全局選項(見下面) FX Month DD Day
SP 拼寫模式(還未實現) DDSP

用法須知:

  • 如果沒有使用 FX 選項,to_timestampto_date 忽略空白。FX 必須做為模板里的第一個條目聲明。
  • 反斜杠("\")必須用做雙反斜杠("\\"),例如 '\\HH\\MI\\SS'
  • 雙引號('"')之間的字串被忽略并且不被分析。如果你想向輸出寫雙引號,你必須在雙引號前面放置一個雙反斜杠('\\'),例如 '\\"YYYY Month\\"'
  • to_char 支持不帶前導雙引號('"')的文本,但是在雙引號之間的任何字串會被迅速處理并且還保證不會被當作模板關鍵字解釋(例如:'"Hello Year: "YYYY')。

表 5-10. 用于 to_char(numeric) 的模板

模板 描述
9 帶有指定位數的值
0 前導零的值
. (句點) 小數
, (逗號) 分組(千)分隔符
PR 尖括號內負值
S 帶負號的負值(使用本地化)
L 貨幣符號(使用本地化)
D 小數點(使用本地化)
G 分組分隔符(使用本地化)
MI 在指明的位置的負號(如果數字 0)
PL 在指明的位置的正號(如果數字 > 0)
SG 在指明的位置的正/負號
RN 羅馬數字(輸入在 1 和 3999 之間)
TH or th 轉換成序數
V 移動 n 位(小數)(參閱注解)
EEEE 科學記數。現在不支持。

用法須知:

  • 使用 'SG','PL' 或 'MI' 的帶符號字并不附著在數字上面;例如,to_char(-12, 'S9999') 生成 ' -12',而 to_char(-12, 'MI9999') 生成 '- 12'Oracle 里的實現不允許在 9 前面使用 MI,而是要求 9MI 前面。
  • PLSG,和 THPostgres 擴展。
  • 9 表明一個與在 9 字串里面的一樣的數字位數。如果沒有可用的數字,那么使用一個空白(空格)。
  • TH 不轉換小于零的值,也不轉換小數TH 是一個 Postgres 擴展。
  • V 方便地把輸入值乘以 10^n,這里 n 是跟在 V 后面的數字。to_char 不支持把 V 與一個小數點綁在一起使用(例如. "99.9V99" 是不允許的)。

表 5-11. to_char 例子

輸入 輸出
to_char(now(),'Day, HH12:MI:SS') 'Tuesday , 05:39:18'
to_char(now(),'FMDay, HH12:MI:SS') 'Tuesday, 05:39:18'
to_char(-0.1,'99.99') ' -.10'
to_char(-0.1,'FM9.99') '-.1'
to_char(0.1,'0.9') ' 0.1'
to_char(12,'9990999.9') ' 0012.0'
to_char(12,'FM9990999.9') '0012'
to_char(485,'999') ' 485'
to_char(-485,'999') '-485'
to_char(485,'9 9 9') ' 4 8 5'
to_char(1485,'9,999') ' 1,485'
to_char(1485,'9G999') ' 1 485'
to_char(148.5,'999.999') ' 148.500'
to_char(148.5,'999D999') ' 148,500'
to_char(3148.5,'9G999D999') ' 3 148,500'
to_char(-485,'999S') '485-'
to_char(-485,'999MI') '485-'
to_char(485,'999MI') '485'
to_char(485,'PL999') '+485'
to_char(485,'SG999') '+485'
to_char(-485,'SG999') '-485'
to_char(-485,'9SG99') '4-85'
to_char(-485,'999PR') '485>'
to_char(485,'L999') 'DM 485
to_char(485,'RN') ' CDLXXXV'
to_char(485,'FMRN') 'CDLXXXV'
to_char(5.2,'FMRN') V
to_char(482,'999th') ' 482nd'
to_char(485, '"Good number:"999') 'Good number: 485'
to_char(485.8,'"Pre-decimal:"999" Post-decimal:" .999') 'Pre-decimal: 485 Post-decimal: .800'
to_char(12,'99V999') ' 12000'
to_char(12.4,'99V999') ' 12400'
to_char(12.45, '99V9') ' 125'

Oracle to_char函數最簡單的應用:

/*1.0123--->'1.0123'*/
Select TO_CHAR(1.0123) FROM DUAL
/*123--->'123'*/
Select TO_CHAR(123) FROM DUAL

接下來再看看下面:

/*0.123 ---> '.123' */
SELEC TO_CHAR(0.123) FROM DUAL

上面的結果 '.123' 在大多數情況下都不是我們想要的結果,我們想要的應該是 '0.123'。

我們來看一下to_char函數的具體用法:

TO_CHAR ( n [, fmt [, 'nlsparam']] )

Oracle to_char函數將NUMBER類型的n按數值格式fmt轉換成VARCHAR2類型的值。'nlsparams'指定由數值格式的元素返回的字符,包括:

.小數點字符
.組分隔符
.本地錢幣符號
.國際錢幣符號

變元的形式為:

'NLS_NUMERIC_CHARACTERS="dg" NLS_CURRENCY="tcxt" NLS_ISO_CURRENCY=territory'

其中d為小數點字符,g為組分隔符。

例 :TO_CHAR (17145,'L099G999','NLS_NUMERIC_CHARACTERS=".," NLS_CURRENCY="NUD"')=NUD017,145
通過上面的了解,再查看fmt的一些格式,我們可以用以下表達式得到'0.123'的值:

/*0.123 ---> ' 0.123' */
Select TO_CHAR(0.123,'0.999') FROM DUAL
/*100.12 ---> '######' */
Select TO_CHAR(100.12,'0.999') FROM DUAL
/*1.12 ---> ' 1.120' */
Select TO_CHAR(1.12,'0.999') FROM DUAL
' 0.123'是出來了,可是前面又多了一個空格。

對于 100.12 的值卻是######,以及'1.12'的值變成了 '1.120'。

我們重新確定一個新的需求:

1、去空格
2、小數點最多4位,最少保留2位。

1--->'1.00';1.1--->'1.00';1.12-->'1.12';1.1234--->'1.1234';

1.12345--->'1.1235'

最終實現如下:

/*
FM :除空格
9999999.0099:允許小數點左邊最大正數為7位,小數點右邊最少2位,最多4位,且在第5位進行四舍五入
*/
Select TO_CHAR(123.0233,'FM9999999.0099') FROM DUAL

您可能感興趣的文章:
  • oracle to_char函數將number轉成string
  • SQL中Charindex和Oracle中對應的函數Instr對比
  • 淺析Oracle中char和varchar2的區別
  • Oracle to_char 日期轉換字符串語句分享
  • Oracle數據庫下載及安裝圖文操作步驟
  • Oracle存儲過程基本語法介紹
  • oracle常用sql語句
  • oracle sqlplus 常用命令大全
  • ORACLE常用數值函數、轉換函數、字符串函數
  • Oralce中VARCHAR2()與NVARCHAR2()的區別介紹

標簽:長沙 棗莊 蘇州 贛州 來賓 遼寧 大興安嶺 玉樹

巨人網絡通訊聲明:本文標題《Oracle to_char函數的使用方法》,本文關鍵詞  Oracle,char,函數,的,使用方法,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Oracle to_char函數的使用方法》相關的同類信息!
  • 本頁收集關于Oracle to_char函數的使用方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 美女视频黄频a美女大全漫画 | 久久一区精品| 欧洲色综合精品| 丁香八月婷婷| 欲成欢| 粗大挺进粉嫩紧窄人妻| 啊灬啊灬啊快日出水了A片男男 | 亚洲欧洲国产精品久久| 色偷偷7777www人妻蜜芽| 复古欧美毛茸茸的电影| 香蕉国产| 国产精密秘?入口麻豆| 好湿?好紧?好多水好爽自慰| 欧美日韩高清完整版在线观看免费 | 亚洲高清视频网站| 囯产精品久久久久久久久久小说| 久久影视精品| 极品名器少妇张开双腿任人玩弄| 后进圆润翘臀极品大屁股图片| 《甜性涩爱》完整版在线播放| 欧美人杂交在线播放免费| 人人玩人人添天天爽| 被粗大的??巴捣出白浆江澄视频| 精品婷婷伊人一区三区三| 国产在线91观看免费观看| 黄色在线视屏| 樱花动漫免费看| 国产伦精品一区八十八区妓| 无码人妻精品一区二区三区99仓| 新视觉6080高清电视剧2024| 我才12就被同桌处破| 雪白白嫩玉足夹茎小说| 欲海双艳在线观看| 99视频偷窥在线精品国自产拍| 失禁+调教+刺激+哭喊| 色5月综合| 96国产精品| 在教室被学长cao到爽| 污视频app有哪些| 伦理片手机在线观看| 大尺度做爰啪啪床戏水声|