betweenoracle的⽤法,关于oraclebetweenand的⽤法!学步园oracle date等类型是带时间部分的,所以你这个2011-07-05 只是相当于2011-07-05 00:00:00这个时刻,按你的写法⼤于这个时刻的是不会删除的。如果你确实要删除2011-07-05的建议你⽤以下写法:
delete from jf_syslog where inputtime >=date'2011-07-01' and nputtime
oracle四舍五入如果不担⼼2011-07-06 00:00:00的也可以(此时能查出数据),2011-07-06 00:00:01时查不出数据
delete from jf_syslog where inputtime between date'2011-07-01' and date'2011-07-06'
如果效率可以接受,可以先转换成字符串
delete from jf_syslog where to_char(inputtime,'yyyymmdd') between '20110701' and '20110705'
你可以考虑连接上⼀个固定的字符串这样的,但是因为时间上是没有24:00:00的,所以还是会有问题的,不如直接在⽇期上加⼀天好⽤
a) months_between(date1,date2):算date1和date2之间的⽉的数量,可以是⼩数可以是负数
months_between(’01-sep-95’,’11-jan-94’)=1.9774194
b) add_months(date,n):为date加上N个⽉,N只可以是整数
c) next_date(date,’char’):查date的下⼀个星期N
next_date(’01-sep-95’,’FRIDAY’)=08-SEP-95
d) last_day(date):查date⽉的最后⼀天。
e) rount(date):把⽇期四舍五⼊
f) rount(25-MAY-95’,’MONTH’)=01-JUN-95
g) rount(25-MAY-95’,’YEAR’)=01-JAN-95
h) trunc(date):把⽇期截断
i) trunc (25-MAY-95’,’MONTH’)=01-MAY-95
j) trunc (25-MAY-95’,’YEAR’)=01-JAN-95
k) ⽇期中RR与YY的区别,RR格式对⽇期作类似于舍⼊的操作,YY格式对⽇期作类似于截取的操作
RR YY
1995 27-oct-95 1995 1995
1995 27-oct-17 2017 1917
2001 27-oct-17 2017 2017
2001 27-oct-95 1995 2095
⽤法:select to_char(sysdate, 'YY') from dual;
select to_char(to_date('95-11-27', 'RR-MM-DD'), 'YYYY-MM-DD') from dual;
select to_char(to_date('95-11-27', 'YY-MM-DD'), 'YYYY-MM-DD') from dual;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论