oracle-日期类型比较

来源:互联网 发布:北京java培训班多钱 编辑:程序博客网 时间:2024/04/26 16:06

查询语句这样写是错误的:

select *

from student

where birthdate >= '2000-10-5'

其中,birthdate在数据库中是date类型

 

错误原因:在oracle数据库管理系统中,birthdate是date数据类型,'2000-10-5'是字符串类型,两者进行比较操作时,DBMS内部可能没有针对这种情况的隐式类型转换,即>=操作符对应的操作函数族中,没有针对这种情况的特例,所以就会报错

 

更改:

1.都变为字符串比较   where to_char(birthdate,'yyyy-mm-dd') >= '2000-10-5'

 

2.都变为日期格式比较  where birthdate >= to_date('2000-10-5','yyyy-mm-dd')

 

原创粉丝点击