oracle数据库的 to char 和to date 区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle数据库的 to char 和to date 区别相关的知识,希望对你有一定的参考价值。

一、功能不同

1、to char:将时间日期按照指定的格式输出,得到的是字符串,而非date类型。

2、to  date:将字符串按照指定的格式输出,得到的是日期类型。

二、语法不同

1、to char: to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') 。

2、to  date:to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') 。


三、规则不同

1、to char:只要被转换的是一个日期,yyyy,mm,dd中间加不加连接符,加什么连接符都可以。

2、to  date:第一个参数的yyyy,mm,dd之间有没有连接符。如果有,那么第二个参数必须有连接符,随便是什么连接符。


参考资料来源:百度百科-to_char()

参考资料来源:百度百科-date函数

参考技术A to char 是把日期或数字转换为字符串
to date 是把字符串转换为数据库中得日期类型
 转换函数
 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
DD “OF” MONTH 12 OF OCTOBER
DDSPTH fourteenth
Date的格式 ’18-5月-84’本回答被提问者采纳

Oracle数据库to_date()和to_char()的相关

select * from T_A a where a.begintime=to_date(‘2013-1-1‘,‘yyyy-mm-dd‘);

select * from T_A a where to_char(a.begintime,‘yyyy-mm-dd‘)=‘2013-1-1‘;

查询结果是一样的.

区别在于 查询的 处理步骤不一样.

select * from T_A a where a.begintime=to_date(‘2013-1-1‘,‘yyyy-mm-dd‘);
是先把 ‘2013-1-1‘ 这个字符串, 转换为日期格式, 然后去和数据库里面做比较.
如果有 1000 行数据, 那么操作就是
1次 字符转换为 日期, 1000 次日期比较。

select * from T_A a where to_char(a.begintime,‘yyyy-mm-dd‘)=‘2013-1-1‘;
是把数据库里面的每一行的 begintime, 转换为 字符格式, 然后去和数据库里面做比较。
如果有 1000 行数据, 那么操作就是
1000次 日期转换为字符, 1000 次字符串比较。

以上是关于oracle数据库的 to char 和to date 区别的主要内容,如果未能解决你的问题,请参考以下文章

oracle数据库的 to char 和to date 区别

Oracle数据库to_date()和to_char()的相关

Oracle数据库to_date()和to_char()的相关

十进制数、to_char 和 Oracle

ORACLE中to_char、to_date、trunc、to_number、cast函数

oracle sql优化to_date和to_char 的使用