当前位置: 首页 > 图文教程 > 数据库 > Oracle > PL/SQL 类型格式转换

Oracle
Oracle数据库系统紧急故障处理方法
Oracle SQL性能优化系列学习一
Oracle 数据库操作技巧集
Oracle组件实现动态Web数据库
ORACLE常见错误代码的分析与解决二
ORACLE常见错误代码的分析与解决三
在Oracle 8x实现自动断开后再连接
深刻理解Oracle数据库的启动和关闭
Oracle对两个数据表交集的查询
Oracle 8i字符集乱码问题析及其解决办法
Oracle 数据库管理脚本命名规范
Oracle不同数据库间对比分析脚本
Oracle数据库安全策略
Oracle数据库的空间管理技巧
Oracle数据库系统使用经验六则
ORACLE数据库应用开发常见问题及排除
Oracle系统表外键的更名
Oracle约束管理脚本
如何确定Oracle数据库表重复的记录
Oracle数据库索引的维护

Oracle 中的 PL/SQL 类型格式转换


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 78 ::
收藏到网摘: n/a

TO_NUMBER(char[,'format_model']) 字符转换到数字类型
TO_DATE(char[,'format_model']) 字符转换到日期类型
格式说明符:要与前边要转换的字符串的格式要相同才能转换(匹配问题:格式和位数)。
TO_CHAR(date[,'format_model'[,nlsparams]])
第二个参数可以省略,不指定格式,按系统默认格式输出。
区分大小写。
使用FM(在格式控制符前添加)符号可以去掉空格或是首位的零。
如果指定了NLSPARAMS,则它控制返回字符串的月和日分量所使用的语言。格式为:
'NLS_DATA_LANGUAGE=language',language指需要的语言。
例:
select to_char(sysdate,'FMyyyy-mm-dd') from dual;
格式控制符的类型:
YYYY 四位的年
YEAR 年的拼写
MM 2位数字的月
MONTH 月的全名
MON 月名的前三个字符
DY 星期名的前三个字符
DAY 星期名的全称
DD 2位的天
时间格式控制符:
HH24:MI:SS AM
HH12:MI:SS PM
通过“”来实现加入特殊字符的格式控制符。
SELECT TO_CHAR(SYSDATE,'FMyyyy"年"mm"月"dd"日"') from dual;
DDSPTH
~~
DD是格式控制符。
TH是序数词,将日期转换成英文的序数词拼写。
SP是基数词,将日期转换成英文的基数词拼写。
TO_CHAR(NUM[,'format_model'[,nlsparams]])转换数字
将NUMBER类型参数NUM转换成VARCHAR2类型。如果指定FORMAT,它会控制整个转换。
如果没有指定FORMAT,那么结果字符串中将包含和NUM中有效位的个数相同的字符。NLSPARAMS用来指定小数点和千分符及货币符号。它的格式可为:'NLS_NUMERIC_CHARS=' ' dg ' 'NLS_CURRENCY= ' 'string' ' '
d和g分别代表小数点和千分符。STRING代表货币符号。
数字格式控制符:
9 代表一位数字(替换符。有,数字显示;没有。不什么都显示。)
0 代表一位数字(有数字,显示;没有,强制显示0。)
$ 美圆符号
L 本地货币
. 小数点
, 千分符
B 当整数部分为0时,将整数部分填充为空格。 例:B999
MI 返回带有后继符号而不是前导负号的负数值,正数值将带有后继的空格。999MI
S 返回一个前导符号或后继符号,正数为+,负数为-。 S9999 或 9999S
PR 使用尖括号返回负数。正数将有前导或后继空格。999PR
D 在指定位置返回一个小数点。两侧的9的个数指定了最大的位数。99D9
G 在指定位置返回千分符,G可以在FORMAT_model中出现多次。9G999G9
C 在指定位置返回ISO货币符号。C可以在FORMAT_model中出现多次。C99
L 在指定位置上返回本地货币符号。 L99
V 返回一个被乘以10的N次方的数值,这里N是V后边9的个数。99V99
EEEE 使用科学记数法返回该数值。9.99EEEE
RM 使用大写的罗马数字表示返回该数值。 RM
rm 使用小写的罗马数字表示返回该数值。 rm
FM 返回不含前导和后继空格的数值。 FM99.09
格式控制符位数一定要大于或等于NUMBER的位数,不能小于。