oracle数字转为字符串


oracle数字转为字符串

.SQL> select ename,to_char(sal,'9999.000') salary from emp;
ENAME SALARY
---------- --------------------
SMITH 808.000
ALLEN 1608.000

SQL> select ename,to_char(sal,'$00099999000.00' ) salary from emp;
ENAME SALARY
---------- --------------------
SMITH $00000000808.00
ALLEN $00000001608.00

SQL> select ename,to_char(sal,'l99,999.000') salary from emp;
ENAME SALARY
---------- ------------------------------
SMITH $808.000
ALLEN $1,608.000

SQL> select ename,TO_char(sal,'9G999D99') salary from emp;
ENAME SALARY
---------- ------------------------------
SMITH 808.00

9是代表有多少宽度,如果不足会显示成######,0代表强制显示0,但不会改变你的结果。G是千
分符,D是小数点。
在数据库中16进制的表达是按照字符串来描述的,所以你想将十进制的数转换为十六进制的数使用
to_char函数。
select to_char(321,'xxxxx') from dual;
TO_CHAR(321,'XXXXX')
---------------------
141
其中xxxxx的位数要足够,不然报错,你就多写几个,足够大就可以。

二。数据类型的显式转换
 To_number,to_date
如果你想将十六进制的数转换为十进制的数请使用to_number函数。
SQL> select to_number('abc32','xxxxxxxx') from dual;
TO_NUMBER('ABC32','XXXXXXXX')
-----------------------------
703538

日期是格式和语言敏感的,切记!
select TO_NUMBER('100.00', '9G999D99') from dual;
G为千分符,D为小数点

转自:https://blog.csdn.net/yanliling0909/article/details/8551259

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle中,可以使用TO_CHAR函数将数字转换为特定格式的字符串。TO_CHAR函数的语法如下: TO_CHAR(数值, '数值形式', NLS参数) 其中,数值是需要进行转换的数字,'数值形式'是指定的转换格式(可选),NLS参数是指定本地货币符号的字符串(可选)。 以下是一些常见的数值转换示例: 1. 使用格式'999.99',其中9表示对应的某一个指定位数的值,如果指定位数值是0则忽略不显示,如果指定位数没有值,则以空格表示,小数点后的9表示为0,小数点前的9表示为空格。 TO_CHAR(-0.1, '99.999') // 输出-.100 TO_CHAR(12, '9990999.000999') // 输出 0012.000000 TO_CHAR(123, '$99,99') // 输出 $1,23 2. 使用格式'FM990.90',其中FM表示将显示出来的字符串定位数没有值而显示的空格清理掉,作用和ltrim类似。 TO_CHAR(4567, 'FM990.90') // 输出 4567.00 3. 转换为16进制 TO_CHAR(4567, 'xxxx') // 输出 11d7 需要特别注意的是: - 数字的位数不能少于9所代表的整数位数,否则会显示为'#'。 - 小数点位数不够时,会进行四舍五入。 - 如果不指定数值形式,则可以原样输出,但不允许数字中夹杂其他字符。 - 只有在数值形式的开头指定为0时,才会在转换后的字符串中多加0,否则会省略0。 - 可以使用NLS参数来指定本地货币符号。 希望以上信息对您有所帮助。 #### 引用[.reference_title] - *1* *3* [oracle 12c to_char 函数(2) 数字-字符串](https://blog.csdn.net/qq1301709072/article/details/80586056)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [oracle字符转换函数to_char()](https://blog.csdn.net/qq_43667519/article/details/129731592)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值