oracle 中如何精确查找date型数据 where join_date = to_date('2005-05-24','yyyy-MM-dd')你试试好不好用 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 where join_date = to_date('2005-05-24', 'yyyy-mm-dd')因为你数据库中的字段是date类型,而你的语句join_date = '2005-05-24' 中,'2005-05-24' 是字符类型的,所以检索不到,你要作to_date的转换 因为你数据库中的字段是date类型,而你的语句join_date = '2005-05-24' 中,'2005-05-24' 是字符类型的,所以检索不到,你要作to_date的转换--------------------------------------------------------------------并不是因为'2005-05-24' 是字符类型的,所以检索不到而是因为数据库的默认日期格式与输入的字符不一致,另外日期值在Oracle数据库中实际存储的都是一个数字值,下面的例子可以说明问题17:56:26 SQL> create table test ( hdate date );Table created.Elapsed: 00:00:00.4017:56:36 SQL> insert into test values ( sysdate );1 row created.Elapsed: 00:00:00.0117:56:46 SQL> select * from test;HDATE---------24-MAY-05Elapsed: 00:00:00.0117:56:50 SQL> select * from test where hdate = '24-May-05';no rows selectedElapsed: 00:00:00.1217:57:08 SQL> insert into test values ( '24-May-05' );1 row created.Elapsed: 00:00:00.0317:57:16 SQL> select * from test where hdate = '24-May-05';HDATE---------24-MAY-05Elapsed: 00:00:00.1017:57:28 SQL> where join_date = to_date('2005-05-24','yyyy-MM-dd')我已经试过了,遗憾的是人不好用:(请高手给看看 where to_char(join_date,'yyyy-mm-dd') = '2005-05-24' 好用谢谢大家!! 求大神、本人数据库菜鸟 sql的统计疑难问题 oracle简单的触发器疑问 推荐一款sql编辑器,支持同时操作多个(异构)数据库 请问:sql语句中/*+ first_rows */是干什么的,在什么情况下使用? 奇怪的ORACLE客户端连接问题 怎样才能进入Oracle SQL plus ? 如何去掉某个字段中可能存在的空格 和回车键??? 一个关于存储过程效率的问题? oracle 异地数据库同步。 日期错误 system用户 在函数里如何使用dba_tables对象
'2005-05-24' 是字符类型的,所以检索不到,你要作to_date的转换
'2005-05-24' 是字符类型的,所以检索不到,你要作to_date的转换--------------------------------------------------------------------并不是因为'2005-05-24' 是字符类型的,所以检索不到
而是因为数据库的默认日期格式与输入的字符不一致,另外日期值在Oracle数据库中实际存储的都是一个数字值,下面的例子可以说明问题17:56:26 SQL> create table test ( hdate date );Table created.Elapsed: 00:00:00.40
17:56:36 SQL> insert into test values ( sysdate );1 row created.Elapsed: 00:00:00.01
17:56:46 SQL> select * from test;HDATE
---------
24-MAY-05Elapsed: 00:00:00.01
17:56:50 SQL> select * from test where hdate = '24-May-05';no rows selectedElapsed: 00:00:00.12
17:57:08 SQL> insert into test values ( '24-May-05' );1 row created.Elapsed: 00:00:00.03
17:57:16 SQL> select * from test where hdate = '24-May-05';HDATE
---------
24-MAY-05Elapsed: 00:00:00.10
17:57:28 SQL>
我已经试过了,遗憾的是人不好用:(
请高手给看看
谢谢大家!!