关闭

ORACLE的TO_CHAR()转换格式

标签: oracle数据库转换函数to-char
667人阅读 评论(0) 收藏 举报
分类:

经常遇到将number、binary_float、binary_double等类型数据按指定的数据精度写入Oracle数据库而出现各种小问题,可以通过Oracle的转换函数to_char()做到。

to_char()函数

to_char()函数主要有以下几种常见的用法:

  • 1. to_char(N)
    将数值N直接转换为VARCHAR2字符串

  • 2. to_char(N,‘format’)
    将数值N安装指定格式(format)转换为VARCHAR2字符串,其中format可以有以下格式:

序号 格式 Example 说明
1 ,(逗号) ‘9999,999’ 逗号,一般以千分位分组符号使用.如果需要您也可以当作是十分位,百分位出现,可以出现N次,视乎数字的大小而定变态的例子是 to_char(1234,’9,9,9,9’)。 注意事项:只能出现在整数部分。
2 .(点) ‘9999.99’ 点只能出现在小数点对应的地方且只能出现一次,to_char(1234.34,’9,9,9,9.99’);* 注意事项:* 只能出现在一个地方,且在原来数据小数点位置。
3 $(美元符号) $999.99’ 美元.其实你可以放在任意地方(在10G下)to_char(1234.34,’9,9,9,9.$99’)注意事项:只能出现一次.
4 0(零) ‘0999.99’ 零,在对应位置返回对应的字符,如果没有则以’0’填充, to_char(0.34,’9,9,9,0.$99’)=’$0.34’,to_char(1234,’9999.00’)=’1234.00’;注意事项:这是一个强制的符号,对应位没有,则以’o’填充,这是9很大不同地方 。
5 9 ‘999.99’ 9在小数位,则表示转换为对应字符,如果没有则以0表示;在整数位,没有对应则不填充字符,to_char(123,’999.99’)=123.00, to_char(123,’99999.9’)=123.0;注意事项:对于0和9而言,如果格式的位数不如数字的位数多,会返回’#’.譬如to_char(12345,’9999’)=’#####’

to_char(datetime)

将日期转化为字符串。主要的应用格式分为两类:简写单个字母(或者其复现形式)代表时间位置譬如yyyy ,mm,dd ,hh之类;其次是以英文的时间单词的简写代表时间,例如mon,day,year。下表的格式基本上也都可以用于TO_DATE, TO_TIMESTAMP, TO_TIMESTAMP_TZ,TO_YMINTERVAL,TO_DSINTERVAL函数。

序号 格式 Example 说明
1
    / , . ; :”text”
时间分隔符号,除了标准的几个,还允许用文字作为分割符号。例如 to_char(sysdate,’YYYY”年”mm”月”dd”日”’)=2008年04月24日

更多更详细的资料请参考: ORACLE函数TO_CHAR以及数字转换格式

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:3077次
    • 积分:145
    • 等级:
    • 排名:千里之外
    • 原创:12篇
    • 转载:1篇
    • 译文:0篇
    • 评论:1条
    文章存档
    最新评论