select to_char(a-1,'yyyy-mm-dd hh24:mi:ss'),to_char(a,'yyyy-mm-dd hh24:mi:ss') from
(select trunc(to_date('2013-10-27 14:56:56','yyyy-mm-dd hh24:mi:ss')) a
from dual)
;
用to_char函数即可。
如emp表中数据如下:
要查询hiredate的日期为1981年1月1日到1981年5月1日之间的数据,可用如下语句:
select from emp where to_char(hiredate,'yyyy-mm-dd') between '1981-01-01' and '1981-05-01';
如果表中的日期字段是date格式:
select sysdate - 日期字段 from 表名;
如果表中的日期字段是char或者varchar或者varchar2格式:
select sysdate - to_date(日期字段, 'yyyymmdd') from 表名;
oracle中最简单获取日期的方式是通过查询sysdate来获取。
语句如下:
select sysdate from dual;结果:
如果只获取日期部分:
select to_char(sysdate,'yyyy-mm-dd') from dual;结果:
Year:
yy two digits 两位年 显示值:07
yyy three digits 三位年 显示值:007
yyyy four digits 四位年 显示值:2007
Month:
mm number 两位月 显示值:11
mon abbreviated 字符集表示 显示值:11月,若是英文版,显示nov
month spelled out 字符集表示 显示值:11月,若是英文版,显示november
Day:
dd number 当月第几天 显示值:02
ddd number 当年第几天 显示值:02
dy abbreviated 当周第几天简写 显示值:星期五,若是英文版,显示fri
day spelled out 当周第几天全写 显示值:星期五,若是英文版,显示friday
处理月份天数不定的办法
select to_char(add_months(last_day(sysdate) +1, -2), 'yyyymmdd'),last_day(sysdate) from dual
找出今年的天数
select add_months(trunc(sysdate,'year'), 12) - trunc(sysdate,'year') from dual
闰年的处理方法
to_char( last_day( to_date('02' | | :year,'mmyyyy') ), 'dd' ) 如果是28就不是闰年
一年的第几天
select TO_CHAR(SYSDATE,'DDD'),sysdate from dual
查找月的第一天,最后一天
SELECT Trunc(Trunc(SYSDATE, 'MONTH') - 1, 'MONTH') First_Day_Last_Month,
Trunc(SYSDATE, 'MONTH') - 1 / 86400 Last_Day_Last_Month,
Trunc(SYSDATE, 'MONTH') First_Day_Cur_Month,
LAST_DAY(Trunc(SYSDATE, 'MONTH')) + 1 - 1 / 86400 Last_Day_Cur_Month
FROM dual;
select from table
where column between add_months(sysdate, -1) and sysdate;
table 需要替换成 你要查询table name。
column 就是 下条件的栏位。。
这个sql 已经经过test了。
以上就是关于oracle 如何获取指定日期的下一天或上一天的整的天数全部的内容,包括:oracle 如何获取指定日期的下一天或上一天的整的天数、oracle数据库怎么判断日期前后、oracle 日期问题 表中有个日期字段,如何取得当前日期与表中日期的时间差,简单点说就是差多少天等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)