关于日期的问题,两个sql查出来的数据不一样,大家看下为什么

问题描述

select * from tawoke ta where ta.l_awokeid='283' and ta.d_awokedate>=to_date('20061113','YYYYMMDD') and ta.d_awokedate<=to_date('20061113','YYYYMMDD') ; select * from tawoke ta where ta.l_awokeid='283' and to_date(to_char(D_AWOKEDATE,'YYYYMMDD'),'YYYYMMDD') >=to_date('20061113','YYYYMMDD') and to_date(to_char(D_AWOKEDATE,'YYYYMMDD'),'YYYYMMDD') <=to_date('20061113','YYYYMMDD');  为什么同一条数据,上面查不出来,下面的sql就可以查询出来的,d_awokedate这个字段值为2006/11/13 10:03:49的时候上面是查询不出来的,如果为2006/11/13则都可以查询出来,一个简单的常用的sql,希望大家一起来讨论下

解决方案

因为精度的问题,因为你的查询条件是>= and <= 20061113,所以截取d_awokedate的年月日是满足查询条件的,但是保留时分秒是无法满足查询条件的,所以说看似相同的查询语句,最后执行的结果不一样。
解决方案二:
ta.d_awokedate是字符类型还是日期类型?

时间: 2024-11-27 12:01:41

关于日期的问题,两个sql查出来的数据不一样,大家看下为什么的相关文章

pat-PAT1017 最后两个测试点通不过,请牛人帮忙看下

问题描述 PAT1017 最后两个测试点通不过,请牛人帮忙看下 我的代码 解决方案 http://blog.csdn.net/stevesun13/article/details/39894561

sql语句报错,请大神看下哪里的错误

问题描述 sql语句报错,请大神看下哪里的错误 错误代码: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'USING BTREE ) ENGINE=INNODB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8' at line 15 C

java 调用cmd 执行读取sql文件问题?求大神帮看下

问题描述 java 调用cmd 执行读取sql文件问题?求大神帮看下 Runtime run =Runtime.getRuntime(); Process process = run.exec("cmd /cmysql -u root -pssdlh test <d:/test.sql"); InputStreamReader ir = new InputStreamReader(process .getInputStream()); LineNumberReader input

这两个sql语句怎么写?求助。

问题描述 这两个sql语句怎么写?求助. 学生表 : 学生id 学生姓名 1 小红 2 小明 3 小石 课程表: 课程id 课程名称 课程老师 1 语文课 王老师 2 数学课 程老师 3 英语课 刘老师 选课表: 学生id 课程id 分数 1 1 65 1 2 58 1 3 90 2 2 80 3 1 50 3 2 20 3 3 40 1.请查出选择了数学和英语两门课程的学生名字. 2.请查出有2门课程以上不及格的学生的名字,60分及格. 解决方案 假设你的三个表分别是 学生表S(SID,SNa

通过sql准确查出一天数据的方法_oracle

前言 数据查询,不管在网站还是在系统中都很常见,下面这篇文章是给大家介绍了通过sql准确查出一天数据的方法,下面来学习学习吧. 原来oracle数据库中的一天的定义范围是以当天凌晨十二点开始到第二天十二点之前不能等于第二天凌晨12点. 举个例子如要查出2014-10-1这一天的数据 sql就是 select to_char(bizdate,'yyyy-MM-dd HH24:mi:ss') ,id from table_person where bizdate >=to_date('2014-10

两个SQL Server维护技巧

确实,数据库的维护常常交给那些专业的数据库管理员,但是作为一个开发者,你也许偶尔需要暂时从事这个工作.所以,试一试这两个SQL服务器维护技巧:轻松改变数据库拥有者.整理索引碎片.谁会想到你甚至可以给那些数据库管理员教上一两个新技巧呢? 重指定数据库拥有者当回复或者新建数据库时,你有没有注意到SQL Server把数据库的拥有者置为你的NT登录名?仅仅为了确保不同数据库间的一致性(更别提安全性因素了),你也许考虑用系统过程sp_changedbowner来把数据库拥有者改为其它用户如系统管理员(S

如何写SQL实现:在数据表中增加一列,该列的值是出库数的累加 (按制单日期升序累加)

问题描述 如何写SQL实现:在数据表中增加一列,该列的值是出库数的累加 (按制单日期升序累加) 如上图,在数据表中增加一列[累计出库数],累计出库数的值等于出库数的累加数(按制单日期升序累加),如何写SQL实现 解决方案 Oracle有现成的lead,lag函数 其他数据库看下面我的博客 sqlserver http://blog.csdn.net/danielinbiti/article/details/45308867 mysqlhttp://blog.csdn.net/danielinbi

sql-问题中的这两种SQL哪个效率高?

问题描述 问题中的这两种SQL哪个效率高? SELECT T3.IDT3.NAMEFROM ZY_UNIT_WARD T1 LEFT JOIN XT_UNIT T2 ON T1.UNITID=T2.IDLEFT JOIN zy_ward T3 ON T2.ID=T3.UNITIDWHERE T2.ID=8SELECT T1.IDT1.NAME FROM zy_ward T1XT_UNIT T2ZY_UNIT_WARD T3WHERE T1.ID=T3.WARDID AND T2.ID=T3.UN

gridview-Asp.net GridVIew中如何通过生产日期和使用寿命两列自动算出报废时间

问题描述 Asp.net GridVIew中如何通过生产日期和使用寿命两列自动算出报废时间 库存管理系统 在物品信息表中如何通过生产日期和使用寿命算出报废时间 EG: 生产日期 2015/1/1 使用寿命 6个月 得到 报废时间2015/7/1 解决方案 循环,DateTime.AddMonth 解决方案二: 能不能贴出具体代码,大神,非常感谢!!!