oracle的查询语句中to_date()是什么意思,那里面的参数分别代表什么含义?

oracle的查询语句中to_date()是什么意思,那里面的参数分别代表什么含义?,第1张

D)TO_DATE使用详解

时常使用to_date函数来查询特定时间内的数据。

语法:

TO_DATE(x [, format])用于将字符串x转换为时间值,该函数可以指定一个可选的字符串format参数来说明x的格式

如果没有指定format参数,日期就使用默认的数据库格式(通常是DD-MON-YYYY或DD-MON-YY)。

注意:

数据库参数NLS_DATE_FORMAT指定了默认的日期格式。可以修改NLS_DATE_FORMAT的设置。

2. 指定时间

当然,在时间值中也可以指定时间。如果在时间值中没有指定时间,那么时间值的时间部分默认为12:00:00 A.M.。时间可以使用前面表5-2所示的各种格式。时间格式的一个例子是HH24:MI:SS,其中:

● HH24是一个2位数字,表示24小时格式中的小时数,该值的范围为00~23。

● MI 是一个2位数字,表示分钟,该值的范围为00~59。

● SS 是一个2位数字,表示秒,该值的范围为00~59。

使用HH24:MI:SS格式的一个时间的例子是19:23:36。使用这个时间的一个完整时间值是:

05-FEB-1968 19:32:36

这个时间值的格式为:

DD-MON-YYYY HH24:MI:SS

to_data(date&time,format)

其中第一个参数date&time是我们要查询的具体日期和时间,比如:2006年5月21日。但是这个时间也分

为很多种精度的,比如:

2006年5月21日

2006年5月21日17:24

2006年5月21日17:34分55秒

这个精度要根据实际情况来定。

另外一个参数format决定的日期的表示方法,比如:

2006年5月21日可以表示为:060521、20060521、2006FEB21等等

而他们对应的format为

060521YYMMDD

20060521 YYYYMMDD

2006FEB21 YYYYMONDD

示例:

select * from book where intime=to_date('2003/02/17/17/53/55','YYYY/MM/DD/HH24/MI/SS')

上面的语句是查询:2003年8月17日下午5点53分55秒,入库的书本。

其实用下面的写法也是可以的

select * from book where intime=to_date('20030217175355','YYYYMMDDHH24MISS')

select * from book where intime=to_date

('2003-02-17-17-53-55','YYYY-MM-DD-HH24/-I-SS')

中间的连字符"/"、":"或是"-",并不影响表达,只是为了更加容易看清楚。

表示年份有以下几种格式,及这种格式对应的表达方法:

2003年为例

YYYY2003

YYY 003

YY03

月份表示格式及表达方法:

二月分为例

MM 08

RM IIX(罗马数字)

MONTH february

MON feb

日期的格式及表达方法:

17号为例

DDD 76 2月的17日在本年度(不是闰年的情况)是多少天

DD 17 在本月中是号(17号)

D 在这一个星期是哪天

星期的格式和表示方法:

星期一为例

DAY monday 全名显示

DY mon缩写

小时的格式和表示方法:

HH24 18二十四小时制

分钟的格式和表示方法:

MI32该小时32分钟

秒的表示方法

SS28该分钟28秒

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[, '格式'])

一、功能不同

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函数


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9980553.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存