关闭

ORACLE的TO_CHAR()转换格式

标签: oracle数据库转换函数to-char
740人阅读 评论(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
查看评论

to_date() 与 to_char() 日期和字符串转换

to_date("要转换的字符串","转换的格式")   两个参数的格式必须匹配,否则会报错。 即按照第二个参数的格式解释第一个参数。 to_char(日期,"转换格式" ) 即把给定的日期按照“转换格式”转...
  • jiong_long
  • jiong_long
  • 2016-08-14 00:23
  • 17006

TO_CHAR(DATE,FORMAT)

SYSDATE2009-6-16 15:25:10 TRUNC(SYSDATE)2009-6-16 TO_CHAR(SYSDATE,YYYYMMDD)20090616到日TO_CHAR(SYSDATE,YYYYMMDD HH24:MI:SS)20090616 15:25:10到秒TO_CHAR(
  • suncrafted
  • suncrafted
  • 2009-06-16 15:32
  • 25254

TO_CHAR详解

2009-12-04 21:01:11|  分类: Oracle|举报|字号 订阅 一、TO_CHAR(date[,format[,nlsparams]]):将日期date转化为VARCHAR2字符串  ...
  • cdn_zheng
  • cdn_zheng
  • 2014-11-25 09:52
  • 1068

oracle的to_char之后,为什么变成了####

t.money;是下图的左边列  to_char(round(t.money, 2), '0.00');是下图的右边列 这要拆开来看,round(t.money,2)的意思是,将t.money“小数点后二位”进行四舍五入。 to_c...
  • Ideality_hunter
  • Ideality_hunter
  • 2017-07-04 17:20
  • 568

Mysql中to_char()和str_to_date()函数

1、mysql内置函数,在mysql里面利用str_to_date()把字符串转换为日期。 示例:分隔符一致,年月日要一致、 select str_to_date('2016-09-09 15:43:28','%Y-%m-%d %H:%i:%s'); sel...
  • u013456370
  • u013456370
  • 2016-09-09 15:46
  • 18875

Oracle-时间格式化-to_char()函数

直接查表的时候,时间是对的: 这种写法是错的,时间都不对了,不能用yyyy-MM-dd HH:mm:ss 应该改为下面这种写法:yyyy-mm-dd hh24:mi:ss
  • ZHOU_VIP
  • ZHOU_VIP
  • 2016-11-30 18:48
  • 1297

to_char取周数的算法

http://xsb.itpub.net/post/419/492128“周数”的计算规则如下:算法一:iw的算法为星期一至星期日算一周,且每年的第一个星期一为第一周即:IW = Week of year (1-52 or 1-53) based on the ISO standard S...
  • outget1
  • outget1
  • 2009-10-17 09:44
  • 1887

Oracle中TO_DATE TO_CHAR 时间格式

TO_CHAR 是把日期或数字转换为字符串TO_DATE 是把字符串转换为数据库中得日期类型转换函数TO_NUMBER 将字符转化为数字  TO_CHAR² 使用TO_CHAR函数处理数字 TO_CHAR(number, '格式') TO_CHAR(sa...
  • xushichang
  • xushichang
  • 2011-07-20 11:09
  • 5462

oracle日期格式转换 to_date(),to_char()

1、转换函数       与date操作关系最大的就是两个转换函数:to_date(),to_char()       to_date() 作用将字符类型按一定格式转化为日期类型: ...
  • lively1982
  • lively1982
  • 2013-12-06 09:50
  • 96954

TO_CHAR函数的用法

to_char()函数的字符串转换格式归纳如下:   to_char(var[,format]) 函数转换格式说明:   1. [format] '999' N 为转换格式数字9的个数。   若数字var位数小于或等于转换格式数字9的个数,则转换后的字符串前面补空字...
  • zyjj_99
  • zyjj_99
  • 2014-01-22 11:23
  • 1971
    个人资料
    • 访问:4072次
    • 积分:170
    • 等级:
    • 排名:千里之外
    • 原创:13篇
    • 转载:2篇
    • 译文:0篇
    • 评论:1条
    最新评论