收藏 分销(赏)

Oracle-中to-char及to-number等问题.doc

上传人:仙人****88 文档编号:8445979 上传时间:2025-02-14 格式:DOC 页数:3 大小:39KB 下载积分:10 金币
下载 相关 举报
Oracle-中to-char及to-number等问题.doc_第1页
第1页 / 共3页
Oracle-中to-char及to-number等问题.doc_第2页
第2页 / 共3页


点击查看更多>>
资源描述
oracle to_number、to_char介绍 to_number(文字,’格式’) to_char(数字, ‘格式’) to_char()这次只介绍to_char(数字, ‘格式’),明天介绍日期转化的。 主要格式如下: 9 表示有效位数 0 数字前用0补足位数 B 用空格补足位数 $ 在数字前加美元号 L 在数字前加本地货币符号 . 小数点位置 , 分格符位置 MI 负数时在最后边加负号 PR 负数用<>括起来 S 在前面加符号 EEEE 科学计数法 V 把原数字乘以10的N次方(N为V后面的位数) to_number函数如下: Converts a string to the NUMBER data type TO_NUMBER(<value>[, <format>, <NLS parameter>]) RETURN NUMBER CREATE TABLE test ( testcol VARCHAR2(10)); INSERT INTO test VALUES ('12345.67'); SELECT TO_BINARY_DOUBLE(testcol) BIN_DOUBLE, TO_BINARY_FLOAT(testcol) BIN_FLOAT, TO_NUMBER(testcol) NMBR FROM test; Converts a HEX number to FLOAT TO_NUMBER(<value>, <format>); SELECT TO_NUMBER('0A', 'XX') FROM dual; Converts a HEX number to DECIMAL TO_NUMBER(<binary_float | binary_double | number>, '<hex mask>') RETURN <binary_float | binary_double | number>; SELECT TO_NUMBER(100000,'XXXXXXXX') FROM dual; 在垃圾短信项目中,用到了to_number方法,表中starttime字段存的是某一时间到1994年1月1日 00:00:00的秒数,字段类型为RAW,由于项目的原因,要涉及到改字段的时间比较。考虑了半天,将某一时间到1994年1月1日 00:00:00的秒数传入当做参数,然后将starttime转换成16进制,再通过to_number转换成数字,然后再比较。SQL语句如下: select * from black_user_info where TO_NUMBER(rawtohex(starttime),'XXXXXXXX') >496022400; 但是经过测试发现 select * from black_user_info where TO_NUMBER(starttime,'XXXXXXXX') >496022400   好像也有同样的效果。raw类型和16进制有很密切的关系,因为在数据库里面,数字的raw类型就是按照16进制保存的,具体的关系就不是很清楚了,目前基本上一个ORACLE盲。 1. 9, 0 ,B 测试 SELECT to_char(123.45, '0009.9'), to_char(123.45, '9999.9'), to_char(123.45, 'B999.9') FROM dual; 结果为 TO_CHAR(123.45,'0009.9') TO_CHAR(123.45,'9999.9') TO_CHAR(123.45,'B999.9') ------------------------ ------------------------ ------------------------ 0123.5 123.5 123.5 2. $, L 测试 SELECT to_char(123.45, '$9999.9'), to_char(123.45, 'L9999.9') FROM dual; 结果为 TO_CHAR(123.45,'$9999.9') TO_CHAR(123.45,'L9999.9') ------------------------- ------------------------- $123.5 ¥123.5 3. .,, 测试 SELECT to_char(123.45, '9999.99'), to_char(1233123.45, '9,999,999.99') FROM dual; 结果为 TO_CHAR(123.45,'9999.99') TO_CHAR(1233123.45,'9,999,999. ------------------------- ------------------------------ 123.45 1,233,123.45 4. MI,PR 测试 SELECT to_char(-123.45, '9999.99MI'), to_char(-123.45, '9999.99PR') FROM dual; 结果为 TO_CHAR(-123.45,'9999.99MI') TO_CHAR(-123.45,'9999.99PR') ---------------------------- ---------------------------- 123.45- <123.45> 5. S,EEEE,V 测试 SELECT to_char(123.45, 'S9999.99'), to_char(12345, '99.99EEEE'), to_char(123, '9999V99') FROM dual; 结果为 TO_CHAR(123.45,'S9999.99') TO_CHAR(12345,'99.99EEEE') TO_CHAR(123,'9999V99') -------------------------- -------------------------- ---------------------- +123.45 1.23E+04 12300
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服