永发信息网

SQL带上毫秒的查询为什么结果不一样

答案:5  悬赏:70  手机版
解决时间 2021-01-02 20:58
select sum(FNum) as a from TStock where FDATE between '2011-07-17 00:00:00' and '2011-07-18 23:59:59'

select sum(FNum) as a from TStock where FDATE between '2011-07-17 00:00:00' and '2011-07-18 23:59:59.999'

这两句话查询出来的结果就不一样 请高人解释一下

我已经知道为什么了 我试了一下 '2011-07-17 23:59:59.999'='2011-07-18 00:00:00'

各位不好意思了 我只能给先回答的了...
最佳答案
where FDATE between '2011-07-17 00:00:00' and '2011-07-18 23:59:59.999'
这个between两边都是字符串,是按字符串比较的,长度都不一样,统计的行数就多了了
你可以看下
select FDATE as a from TStock where FDATE between '2011-07-17 00:00:00' and '2011-07-18 23:59:59.999'
这个的结果,
如果是按时间比较的话,你就要吧这两个字符串转成对应的时间就可以了
全部回答
那你看一下select * from TStock where FDATE between '2011-07-18 23:59:59' and '2011-07-18 23:59:59.999'是什么
条件不一样结果当然不一样,'2011-07-18 23:59:59'实际上是'2011-07-18 23:59:59.000'所以换成'2011-07-18 23:59:59.999'结果当然不一样了,因为在'2011-07-18 23:59:59.000'与'2011-07-18 23:59:59.999'之间还有一部分数据呢
最后那个00不是毫秒,是秒.8时19分00秒, convert函数目前还没有可以取消掉秒的方法.可以自己写函数实现
FDATE是datetime 类型的值,而该类型可以存储毫秒,如果在毫秒范围类还有值的话这两种查询的结果必然不一样 。'2011-07-18 23:59:59'将转化为'2011-07-18 23:59:59.000',和 '2011-07-18 23:59:59.999'时间范围不一致。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
国家电网(六安农电中店供电营业厅)地址在哪?
Please read them carefullyyou are, mistak
使至塞上这首诗流露了作者怎样的情绪?
Titus铁达时在宁波哪里有专柜呢?有维修点吗
为什么是“女为悦己者容”而不是“女为己悦者
国家电网(霍邱城南供电营业厅)在什么地方啊,
非洲下雪吗
海曙区石碶街道健康教育广场地址在什么地方,
读下面这段文字,根据拼音写出相应的汉字。义
人死了以后,为什么要做七?哪几个七是主要的
国家电网(舒城南港供电营业厅)地址在哪?我要
上海哪个地方最繁华
哪个版本的英雄大作战没有网能玩?
Of all reasons for my decision to go abro
办公软件要学什么,多少钱
推荐资讯
关于力的说法下列正确的有A.一个受力物体可以
怎么去掉手机应用程序图标背后的阴影啊,有蓝
IN OTHER _______(PART)OF THE WORLD,THINGS
用友T3打印凭证设置 30分
红薯什么时间收获
关于Do you think oversea experience make i
Somestudentswerelateforclassbecausetheyhad
你怎么看待刘慈欣的观点:提倡环保而不考虑开
好听的两字姓氏
澳大利亚高等教育结构中的level 7是哪个学历
单选题下列新文化运动与启蒙运动相同的一项是
若分式有意义,则x为A.x≠2B.x≠-3C.x≠-3或x
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?