oracle数据库to_date用法(oracle的to_date)
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 次字符串比较。