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

 我来答
jiaxin8000xxsc
2017-08-14 · TA获得超过3.6万个赞
知道大有可为答主
回答量:4009
采纳率:88%
帮助的人:916万
展开全部

oracle的查询语句中to_date()是一个日期转换函数。

1.日期格式参数含义说明 :

D    一周中的星期几 

DAY    天的名字,使用空格填充到9个字符 

DD    月中的第几天 

DDD    年中的第几天 

DY     天的简写名 

IW    ISO标准的年中的第几周 

IYYY    ISO标准的四位年份 

YYYY    四位年份 

YYY,YY,Y    年份的最后三位,两位,一位 

HH    小时,按12小时计 

HH24    小时,按24小时计 

MI    分 

SS    秒 

MM    月 

Mon    月份的简写 

Month    月份的全名 

W    该月的第几个星期 

WW    年中的第几个星期  

用法举例:

  1. 日期和字符转换函数用法(to_date,to_char)

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual;   //日期转化为字符串  
select to_char(sysdate,'yyyy')  as nowYear   from dual;   //获取时间的年  
select to_char(sysdate,'mm')    as nowMonth  from dual;   //获取时间的月  
select to_char(sysdate,'dd')    as nowDay    from dual;   //获取时间的日  
select to_char(sysdate,'hh24')  as nowHour   from dual;   //获取时间的时  
select to_char(sysdate,'mi')    as nowMinute from dual;   //获取时间的分  
select to_char(sysdate,'ss')    as nowSecond from dual;   //获取时间的秒

2. 字符串和时间互转

select to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') from dual
select to_char( to_date(222,'J'),'Jsp') from dual //显示Two Hundred Twenty-Two
whmng
推荐于2018-05-30 · TA获得超过664个赞
知道小有建树答主
回答量:290
采纳率:100%
帮助的人:205万
展开全部
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为
060521 YYMMDD
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年为例
YYYY 2003
YYY 003
YY 03

月份表示格式及表达方法:
二月分为例
MM 08
RM IIX(罗马数字)
MONTH february
MON feb

日期的格式及表达方法:
17号为例
DDD 76 2月的17日在本年度(不是闰年的情况)是多少天
DD 17 在本月中是号(17号)
D 在这一个星期是哪天

星期的格式和表示方法:
星期一为例
DAY monday 全名显示
DY mon 缩写

小时的格式和表示方法:
HH24 18 二十四小时制

分钟的格式和表示方法:
MI 32 该小时32分钟

秒的表示方法
SS 28 该分钟28秒
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cai_love_feng
推荐于2018-03-07 · TA获得超过998个赞
知道小有建树答主
回答量:416
采纳率:100%
帮助的人:282万
展开全部
to_date是将一个日期的字符串 转换成为日期
即varchar转 date
to_date('2010-01-01','yyyy-mm-dd');
第一个参数是要转成日期的数据
第二个是转成的格式

参考资料: 第一个

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
联想汪浩
2011-06-11
知道答主
回答量:6
采纳率:0%
帮助的人:0
展开全部
to_date(char,'formate')含义:将char转换成指定日期格式。
例如:to_date('79-01-31','YY-MM-DD')就是79年1月31日。
YY是年
MM是月
DD是日
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6aa317c
2011-06-10 · TA获得超过174个赞
知道答主
回答量:97
采纳率:0%
帮助的人:85.6万
展开全部
to_date将字段转换成date类型,第一个字段是你输入的字符串,第二个是日期的格式,比如yyyy-MM-dd
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式