oracle的pl/sql问题 我有一个栏位为test_date为date类型,写sql的where条件时为什么要to_date(test_date) = TO_DATE('12/02/2012','dd/MM/yyyy')这样才有值,test_date = TO_DATE('12/02/2012','dd/MM/yyyy')就没有值。test_date 就是date类型,为什么还要用to_date() 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 怎么可能 时间类型 再to_date()会报错的 你不用to_date 直接where test_date有值吗? 你后面的to_date时间取整了,你字段里面存的实际值是什么样的 也是和where条件后面一样吗 这个问题的应该就是to_date这个函数的默认格式的问题,你可以做以下的实验:执行该语句,你会发现两列的结果是不一样的。select to_date(test_date),test_date from table_name;我个人觉得是oracle的to_date函数默认格式的原因,时间原因没有多分析,你可以研究下,给大家公布下一个结果,呵呵呵。 额……select test_date from table 显示的是YYYY/MM/DD hh24:mi:ss形式的吧…… oracle 默认Date类型的 日期格式是 dd/MM/yyyy test_date 即结果数据的格式为 yyyy-MM-dd HH24:mi:ss --- 所以如果想要得出结果有两种方式:1.test_date = to_date('2012-02-12','yyyy-MM-dd');2.to_date(test_date) = to_date('12/02/2012','dd/MM/yyyy'); select test_date from yourtbl;可知,你这个结果如果是 '2011-12-05 23:25:25’ 这样的,那么不加 to_date,是查不到数据的。因为:'2011-12-05 23:25:25’ <> '2011-12-05'如加了to_date ,则两者结构形式一样,值自然就能查出来。 oracle 查询数据不符合条件的语句也要显示出来,但要为空 水晶报表@大神!!! 如何将access数据文件转换成后缀名为.csv文件? 这个SqlServer的SQL语句用Oracle怎么写? 求一个行列转换的写法(ORACLE),多谢 oracle 建立作业语法出错 求SQL文,怎样使同样的纪录出现两次 如何插入时实现自动行号增加呢,比如现在有个字段是max,最大为5,要插入的话应是其为6,那如何用sql实现呢,请大家指导 无法定时运行 新手上路 请多关照.介绍几本好书呗!多谢!!! 查询返回的记录数不对 Oracle10g 存储过程运用表里面存放的公式计算值
执行该语句,你会发现两列的结果是不一样的。
select to_date(test_date),test_date from table_name;
我个人觉得是oracle的to_date函数默认格式的原因,时间原因没有多分析,你可以研究下,给大家公布下一个结果,呵呵呵。
select test_date from table
显示的是YYYY/MM/DD hh24:mi:ss形式的吧……
test_date 即结果数据的格式为 yyyy-MM-dd HH24:mi:ss --- 所以如果想要得出结果有两种方式:
1.test_date = to_date('2012-02-12','yyyy-MM-dd');
2.to_date(test_date) = to_date('12/02/2012','dd/MM/yyyy');
可知,你这个结果如果是 '2011-12-05 23:25:25’ 这样的,那么不加 to_date,是查不到数据的。
因为:'2011-12-05 23:25:25’ <> '2011-12-05'
如加了to_date ,则两者结构形式一样,值自然就能查出来。