Oracle SQL日期比较

原创 2016年05月31日 10:23:01

需要to_date函数把常量转换成日期

select * from TBL_STUDENT where LAST_UPDATE_TIME <= to_date('2016-05-30 00:00:00','yyyy-mm-dd hh24:mi:ss')

如果输入库里的时间不是24小时的,是带am,pm的

select * from TBL_STUDENT where LAST_UPDATE_TIME <= to_date('2016-05-30 00:00:00 am','yyyy-mm-dd hh24:mi:ss am')


可能会出现以下错误
ORA-01855:am/a.m or pm/p.m. required

这是因为NLS_DATE_LANGUAGE的设置问题。执行以下语句查看

select * from v$nls_parameters;

PARAMETER VALUE
NLS_LANGUAGE SIMPLIFIED CHINESE
NLS_TERRITORY CHINA
NLS_CURRENCY ¥
NLS_ISO_CURRENCY CHINA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE SIMPLIFIED CHINESE
NLS_CHARACTERSET UTF8
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY ¥
NLS_NCHAR_CHARACTERSET UTF8
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE

发现NLS_DATE_LANGUAGE是SIMPLIFIED CHINESE,并不是AMERICAN。所以修改如下

select * from TBL_STUDENT where LAST_UPDATE_TIME <= to_date('2016-05-30 00:00:00 上午','yyyy-mm-dd hh24:mi:ss am')
















版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Oracle数据库日期过滤方法性能比较

在开发SQL时,过滤日期段是经常遇到的情况,如何高效的过滤出日期段?本文通过实验进行验证:...
  • lhl6688
  • lhl6688
  • 2015年02月02日 11:21
  • 1943

oracle sql日期比较

oracle sql日期比较
  • csdnhxs
  • csdnhxs
  • 2017年06月06日 15:00
  • 173

Oracle数据库-date数据类型(时间)比较大小

OCCUR_TIME为table表data数据类型的字段,以下为查询小于当前系统时间300秒的时刻后的记录select * from table where OCCUR_TIME > (select ...

oracle时间大小比较

createtime >to_date( '2006-04-08 00:00:01','yyyy-mm-dd hh24:mi:ss')  and createtime 或者 createtime...

oracle对时间范围比较的语句

时间在数据库存储的方式有很多种,但主要以date为主,下面以oracle为例 一般在数据库语句中直接写某个时间条件例如:c_datetime 比较经典的错误为ORA-01861: literal do...

oracle 两个时间相减

oracle 两个时间相减默认的是天数 oracle 两个时间相减默认的是天数*24 为相差的小时数 oracle 两个时间相减默认的是天数*24*60 为相差的分钟数 oracle 两个时间相...

oracle中怎么比较两个日期的大小

再写代码时老是会遇到比较两个日期的大小问题,于是自己写了个方法,以备以后参考: //比较日期前后 function compareDate(DateOne,DateTwo) ...

oracle sql日期比较

oracle sql日期比较 oracle sql日期比较: 在今天之前:select * from up_date where update  to_date('2007-09-07 00:...

oracle中date类型的比较

oracle日期 条件 查询

oracle date 和 timestamp区别

在今天的工作中,学到了以下几个知识点: 一、date和timestamp 的区别      date类型是Oracle常用的日期型变量,他的时间间隔是秒。两个日期型相减得到是两个时间的间隔,注意单...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oracle SQL日期比较
举报原因:
原因补充:

(最多只允许输入30个字)