Oracle PL/SQL开发基础(第二十二弹:类型转换函数)
来源:互联网 发布:读诗书明德知礼下联 编辑:程序博客网 时间:2024/05/30 07:14
上一篇讲到了类型转换函数。不过那么多的类型转换函数中,常用的也就是TO_CHAR
,TO_NUMBER
,TO_DATE
这几个。下面对这几个进行详细的介绍。
使用TO_CHAR
将日期型转换为字符串
默认情况下,日期格式都是以DD-MON-YY来显示的,为了使其他的 显示格式显示日期值,可以使用TO_CHAR
将日期从默认格式转换为指定的格式。例如:
SELECT TO_CHAR (SYSDATE, 'YYYY-MM-DD HH24:MI:SS AM') FROM DUAL
可以看到,要显示为特定的日期格式,必须要指定特定的日期格式字符串,可以使用的格式字符串如下:
/.,
在结果中使用标点符号 TH 序数(例如,DDTH显示为4TH) SP 拼写出数字(例如,DDSP显示为FOUR) SPTH或THSP 拼写出序数(例如:DDSPTH显示为FOURTH)常用示例如下:
SELECT TO_CHAR (SYSDATE, 'ddspth') FROM DUAL;SELECT TO_CHAR(SYSDATE, 'HH24:MI:SS AM') FROM DUAL;SELECT TO_CHAR (SYSDATE, 'DD "of" MONTH') FROM DUAL;SELECT TO_CHAR(SYSDATE,'A.D.YYYY"年"-MONTH-DD"日"-DAY') FROM DUAL;SELECT TO_CHAR(SYSDATE,'W') FROM DUAL;
通过灵活地组织这些格式字符串,可以创建出很多想要的日期格式。
使用TO_CHAR
将数字型转换为字符串
如,将一个数字转换成带货币符号的字符串:
SELECT TO_CHAR(123.45678,'$99999.999') FROM DUAL;
TO_CHAR
在将数字转换为字符串时,可以使用格式字符串指定转换时使用的格式,常见的格式符元素如下:
$
返回带有前导货币符号的数值 $999999
$1234
L 在指定的位置上返回本地货币符号 L99999 ¥1234 .
在指定的位置上返回一个小数点,不管指定的小数点分隔符 999999.99 1234.00 , 在指定的位置上返回一个逗号,不管指定的千分位分隔符 999,999 1,234 MI 该值如为负数,则加后继负号,如非负数则加一个后继占位符 999999MI 1234- PR 如为负值,用尖括号括起,如为正值,则前导后继各加一个空格 999999PR <1234>
EEEE 科学计数法(格式化必须指定四个E) 99.999EEEE 1.234E+03 V 返回与10的n次方相乘的值,n是v后面9的个数 9999V99 123400 B 当整数为0时,将该小数的整数部分填充为空格 B9999.99 1234.00 D 返回小数点的位置,两边的9指定了最大位数 9999D 1234. G 返回千分位分隔符,G可以出现多次 (99G99) 12,34 C 在指定的位置上返回ISO货币号 C9999 CNY1234TO_CHAR
中的nlsparams参数影响到最终结果的显示,一般有下面几种形式:
- NLS_NUMERIC_CHARACTERS
:可简写为NLS_NUMERIC_CHARS
,表示为指定分组分隔符或小数点使用的字符。
- NLS_CURRENCY
:指定Oracle默认的货币。
- NLS_ISO_CURRENCY
:指定ISO货币符号的字符。
使用示例如下:
SELECT TO_CHAR (123456789, 'L999G999G999D99', 'NLS_CURRENCY=%') FROM DUAL;-- 结果为:%123,456,789.00
使用TO_DATE
将字符换转换为日期
使用如:
SELECT TO_DATE ('2010/09/13', 'YYYY-MM-DD', 'NLS_DATE_LANGUAGE=english') FROM DUAL;SELECT TO_DATE ('20100913', 'YYYY-MM-DD') FROM DUAL;
使用TO_NUMBER
将字符串转换为数字
使用如:
SELECT TO_NUMBER('01') FROM DUAL;SELECT TO_NUMBER('$1234.5678','$9999.9999') FROM DUAL;SELECT TO_NUMBER('$123,456,789.00','$999G999G999D99') FROM DUAL;
阅读全文
1 0
- Oracle PL/SQL开发基础(第二十二弹:类型转换函数)
- Oracle PL/SQL开发基础(第十六弹:记录类型)
- Oracle PL/SQL开发基础(第十七弹:集合类型)
- Oracle PL/SQL开发基础(第二十一弹:基本函数)
- Oracle PL/SQL开发基础(第二十三弹:其他常用函数)
- Oracle PL/SQL开发基础(第三弹:修改表)
- Oracle PL/SQL开发基础(第四弹:索引)
- Oracle PL/SQL开发基础(第五弹:视图)
- Oracle PL/SQL开发基础(第六弹:简单查询)
- Oracle PL/SQL开发基础(第十弹:子查询)
- Oracle PL/SQL开发基础(第十四弹:序列)
- Oracle PL/SQL开发基础(第十五弹:同义词)
- Oracle PL/SQL开发基础(第三十三弹:EXCEPTION_INIT)
- Oracle PL/SQL开发基础(第三十四弹:RAISE_APPLICATION_ERROR)
- 第一章 Oracle PL/SQL开发基础---草稿
- Oracle PL/SQL开发基础(第一弹:创建表和创建约束)
- Oracle PL/SQL开发基础(第二弹:使用数据字典视图查看表约束)
- Oracle PL/SQL开发基础(第七弹:ROWNUM伪列)
- Android自定义Span示例
- c++实训单元五-自定义数据类型
- Redis主从复制
- 优化Trunk
- 【Lua】Lua之面向对象
- Oracle PL/SQL开发基础(第二十二弹:类型转换函数)
- HDOJ 2191 珍惜现在,感恩生活(多重背包)
- 配置python环境变量
- Idea 调试功能使用指南
- 数据交互vue-resource
- matlab数据类型(数值类型)
- (OK)(OK) Android-x86-7.1.1/ kernel 4.4.62
- Kotlin-31.操作符/运算符重载(operator overload)
- 【dp每一天】 POJ