oracle数据库to_date用法(oracle的to_date)

http://www.itjxue.com  2023-01-29 10:29  来源:未知  点击次数: 

Oracle数据库插入日期型数据的方法

Oracle数据库插入日期型数据的方法

racle数据库插入日期型数据,应该怎么下手呢?下面我为大家整理了关于Oracle数据库插入日期型数据的方法,希望能为你提供帮助:

往Oracle数据库中插入日期型数据(to_date的用法)

INSERT INTO FLOOR VALUES ( to_date ( '2007-12-20 18:31:34' , 'YYYY-MM-DD HH24:MI:SS' ) ) ;

查询显示:2007-12-20 18:31:34.0

-------------------

INSERT INTO FLOOR VALUES ( to_date ( '2007-12-14 14:10' , 'YYYY-MM-DD HH24:MI' ) );

查询显示:2007-12-14 14:10:00.0

-------------------

INSERT INTO FLOOR VALUES ( to_date ( '2007-12-14 14' , 'YYYY-MM-DD HH24' ) );

查询显示:2007-12-14 14:00:00.0

-------------------

INSERT INTO FLOOR VALUES ( to_date ( '2007-11-15' , 'YYYY-MM-DD' ) );

查询显示:2007-11-15 00:00:00.0

-------------------

INSERT INTO FLOOR VALUES ( to_date ( '2007-09' , 'YYYY-MM' ) );

查询显示:2007-09-01 00:00:00.0

-------------------

INSERT INTO FLOOR VALUES ( to_date ( '2007' , 'YYYY' ) );

查询显示:2007-05-01 00:00:00.0

-------------------

当省略HH、MI和SS对应的.输入参数时,Oracle使用0作为DEFAULT值。

如果输入的日期数据忽略时间部分,Oracle会将时、分、秒部分都置为0,也就是说会取整到日。

同样,忽略了DD参数,Oracle会采用1作为日的默认值,也就是说会取整到月。

但是,不要被这种“惯性”所迷惑,如果忽略MM参数,Oracle并不会取整到年,而是取整到当前月。 ;

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

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????年中的第几个星期

用法举例:

日期和字符转换函数用法(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

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 次字符串比较。

(责任编辑:IT教学网)

更多

推荐时间特效文章