本文将演示以下3个 Oracle中的常用日期函数。
功能 |
|
TO_CHAR(d|n[,fmt]) |
把日期和数字转换为制定格式的字符串 |
TO_DATE(x [,fmt]) |
把一个字符串以fmt格式转换为一个日期类型 |
TO_NUMBER(x[,fmt]) |
把一个字符串以fmt格式转换为一个数字 |
下面将结合实例对这些函数进行介绍。
转换函数将值从一种数据类型转换为另外一种数据类型。常用的转换函数有:
l TO_CHAR(d|n[,fmt])
把日期和数字转换为制定格式的字符串。fmt是格式化字符串,日期的格式化字符串前面已经学习过。
示例1:TO_CHAR对日期的处理
SQL> SELECT TO_CHAR(SYSDATE,'YYYY"年"MM"月"DD"日" HH24:MI:SS') "DATE" 2 FROM DUAL;
DATE ----------------------- 2016年12月07日 15:43:59 |
针对数字的格式化,格式化字符有:
参数 |
示例 |
说明 |
9 |
999 |
指定位置处显示数字。 |
. |
9.9 |
指定位置返回小数点 |
, |
99,99 |
指定位置返回一个逗号 |
$ |
$999 |
数字开头返回一个美元符号 |
EEEE |
9.99EEEE |
科学计数法表示 |
L |
L999 |
数字前加一个本地货币符号 |
PR |
999PR |
如果数字式负数则用尖括号进行表示 |
示例2:TO_CHAR对数字的处理
SQL> SELECT TO_CHAR(-123123.45,'L9.9EEEEPR') "DATE" FROM DUAL;
DATE -------------------- <¥1.2E+05> |
l TO_DATE(x [,fmt])
把一个字符串以fmt格式转换为一个日期类型。
示例3:向EMP表添加一个记录,其中hiredate字段是日期类型.
SQL> insert into emp(empno,ename,job,hiredate,sal) values 2 (7789,'SIMA','CLERK',TO_DATE('1982-1-23','YYYY-MM-DD'),3000.0);
已创建 1 行。 |
l TO_NUMBER(x[,fmt])
把一个字符串以fmt格式转换为一个数字。fmt格式字符参考表3。
示例4:TO_NUMBER函数
SQL> SELECT TO_NUMBER('-$12,345.67','$99,999.99') FROM DUAL;
TO_NUMBER('-$12,345.67','$99,999.99') ------------------------------------- -12345.67 |
来源:oschina
链接:https://my.oschina.net/u/2971691/blog/802315