sql 查询语句中时间比较的怪问题。

stepman 2011-04-08 01:15:21
在table1中数据充足的情况下,为什么
select * from table1 where tim > convert(datetime,'2011-4-6 03:00:00') 能够有结果输出


select * from table1 where tim < convert(datetime,'2011-4-6 03:00:00') 的检索结果是零行呢

注:tim 列示dateTime类型,数据时分钟连续的,每分钟一条记录的
----------------------------------------------------------------------

纳闷:为什么 < 和 > 号有什么区别呢?
...全文
102 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
stepman 2011-11-26
  • 打赏
  • 举报
回复
我说的数据充足确实是有符合条件的数据, 后来程序移植到另一台机器上就好了,但查的库还是同样的库,就是怪了。
还是非常感谢大家!这就结贴了!
andy_liucj 2011-04-08
  • 打赏
  • 举报
回复
如果确实存在符合条件的数据,没有理由啊=。=
O爱咋咋地O 2011-04-08
  • 打赏
  • 举报
回复
可以查看下top 10 的根据tim升序排序的数据,是不是比2011-4-6 03:00:00小
stepman 2011-04-08
  • 打赏
  • 举报
回复
表中的数据是充足的,就是说有更早或更晚的数据,上万行 呢,数据不存在问题
Shawn 2011-04-08
  • 打赏
  • 举报
回复
[Quote=引用楼主 stepman 的回复:]
在table1中数据充足的情况下,为什么
select * from table1 where tim > convert(datetime,'2011-4-6 03:00:00') 能够有结果输出


select * from table1 where tim < convert(datetime,'2011-4-6 03:00:00') 的检索结果是零行呢

注:tim 列示d……
[/Quote]
一个是 大于, 一个是 小于
把tim字段看成INT类型,理解一下.
select * from table1 where tim > 1
select * from table1 where tim < 1
stepman 2011-04-08
  • 打赏
  • 举报
回复
我也是在另一台机器上没有使用convert转换,直接在datetime类型的字段上使用字符串'2011-4-6 03:00:00'查都不出错,但换了个库就不行了 ,是不是数据库的 设置问题啊

daishaodong 2011-04-08
  • 打赏
  • 举报
回复
说错了,都能查到,用char(20)也一样能查询到。。
daishaodong 2011-04-08
  • 打赏
  • 举报
回复
我本机是小于能查到,大于不能查询到。。
daishaodong 2011-04-08
  • 打赏
  • 举报
回复
我在我本机实验下,<和>都能查询到。。。
luofenghen 2011-04-08
  • 打赏
  • 举报
回复
你是想取日期吗? convert 用错了~
convert(char(10),'2011-4-6 03:00:00',120)

得到的才是 '2011-4-6'
xuyuchends 2011-04-08
  • 打赏
  • 举报
回复
看来是没有了
快溜 2011-04-08
  • 打赏
  • 举报
回复
你表里没有比'2011-4-6 03:00:00'更早的数据了嘛

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧