ITPub博客

首页 > 数据库 > Oracle > Oracle 的to char、to number、to date用法

Oracle 的to char、to number、to date用法

Oracle 作者:danielwuqi52052 时间:2013-12-08 12:52:00 0 删除 编辑

TO_CHAR 是把日期或数字转换为字符串
TO_DATE 是把字符串转换为数据库中得日期类型转换函数
TO_NUMBER 将字符转化为数字

 TO_CHAR
利用TO_CHAR函数措置数字
TO_CHAR(number, "格式")
TO_CHAR(salary,’$99,999.99’);
利用TO_CHAR函数措置日期
TO_CHAR(date,’格式’);

 TO_NUMBER
利用TO_NUMBER函数将字符转换为数字
TO_NUMBER(char[, "格式"])

 TO_DATE
利用TO_DATE函数将字符转换为日期
TO_DATE(char[, "格式"])

 数字格式格式
9 代表一个数字
0 逼迫闪现0
$ 安插一个$符
L 安插一个浮动当天货币符
. 闪现小数面
, 闪现千位唆使符

 日期格式
格式掌控 描写
YYYY、YYY、YY 别离代表4位、3位、2位的数字年
YEAR 年的拼写
MM 数字月
MONTH 月的全拼
MON 月的缩写
DD 数字日
DAY 星期的全拼
DY 星期的缩写
AM 表示上午年夜概下昼
HH24、HH12 12小时制或24小时制
MI 分钟
SS 秒钟
SP 数字的拼写
TH 数字的序数词

“特别字符” 假如特别字符
HH24:MI:SS AM 15:43:20 PM

日期例子:
SELECT TO_DATE("2006-05-01 19:25:34", "YYYY-MM-DD HH24:MI:SS") FROM DUAL
SELECT TO_DATE("2006-05-01 19:25", "YYYY-MM-DD HH24:MI") FROM DUAL
SELECT TO_DATE("2006-05-01 19", "YYYY-MM-DD HH24") FROM DUAL
SELECT TO_DATE("2006-05-01", "YYYY-MM-DD") FROM DUAL
SELECT TO_DATE("2006-05", "YYYY-MM") FROM DUAL
SELECT TO_DATE("2006", "YYYY") FROM DUAL

日期阐明:
当省略HH、MI战SS对应的输进参数时,Oracle利用0做为DEFAULT值。若是输进的日期数据无视时候部分,Oracle会将时、分、秒部分都置为0,也就是说会与整到日。

同样,无视了DD参数,Oracle会采用1做为日的默认值,也就是说会与整到月。

可是,没有要被这类“惯性”所利诱,若是无视MM参数,Oracle并没有会与整到年,与整到当前月。

寄望:
1.正在利用Oracle的to_date函数来做日期转换时,可以会直觉天采用“yyyy-MM-dd HH:mm:ss”的格式做为格式进止转换,可是正在Oracle中会引发错误:“ORA 01810 格式代码闪现两次”。如:select to_date("2005-01-01 13:14:20","yyyy-MM-dd HH24:mm:ss") from dual;本果是SQL中没有鉴识年夜小写,MM战mm被觉得是没有异的格式代码,所以Oracle的SQL采用了mi改换分钟。select to_date("2005-01-01 13:14:20","yyyy-MM-dd HH24:mi:ss") from dual;
2.另要以24小时的形式闪现出来要用HH24
select to_char(sysdate,"yyyy-MM-dd HH24:mi:ss") from dual;//mi是分钟
select to_char(sysdate,"yyyy-MM-dd HH24:mm:ss") from dual;//mm会闪现月份


<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22492587/viewspace-1115181/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-09-07