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

Oracle
oracle sys_connect_by_path 函数 结果集连接
oracle join on 数据过滤问题
Oracle 当前用户下所有表的记录总数
oracle 树查询 语句
oracle 触发器 实现出入库
Oracle 函数大全
oracle 删除重复数据
ORACLE 最大连接数的问题
oracle 层次化查询(行政区划三级级联)
oracle 查询表名以及表的列名
Oracle 数据显示 横表转纵表
oracle 服务启动,关闭脚本(windows系统下)
ORCLE 表中列的修改
oracle 数据库连接分析
Oracle 实现类似SQL Server中自增字段的一个办法
Oracle 常用的SQL语句
Oracle 数组的学习 小知识也要积累,养成好的学习态度
Oracle 日期的一些简单使用
Oracle 数据库连接查询SQL语句
Oracle DBA常用语句

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 87 ::
收藏到网摘: 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的位数,不能小于。