请问datetime数据类型问题

SnowmanBaby1 2003-08-25 12:42:41
数据库为SQL 2000
在我的表中的个字段为rq,数据类型为datetime.表中的rq的数据为convert(datetime,getdate(),120),每分钟取一次getdate().问题是在表中得到的时间是没有毫秒数的,可是对它查询时却查不出来,只有带有毫秒数才能查出来,即我用yyyy-mm-dd hh:mm:ss格式查找时数据查不出来,而我用yyyy-mm-dd hh:mm:ss.fff时才能查出数据来。请问这是什么原因,该怎样解决这个问题.
...全文
42 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hjb111 2003-08-25
  • 打赏
  • 举报
回复
select * from yourtable where convert(varchar,rq,120)=convert(datetime,getdate(),120)
SnowmanBaby1 2003-08-25
  • 打赏
  • 举报
回复
select * from 表 where CONVERT(varchar(10),rq,120)=CONVERT(varchar(10), getDate(),120)这个语句在我这儿取不出来数,所以才上来问的
pengdali 2003-08-25
  • 打赏
  • 举报
回复
select * from 表 where CONVERT(varchar(10),rq,120)=CONVERT(varchar(10), getDate(),120)


select CONVERT(varchar(10), getDate(),120) --不要时间2002-1-1
select convert(char(8),getdate(),112) ----20020101
select convert(char(8),getdate(),108) ---06:05:05
pengdali 2003-08-25
  • 打赏
  • 举报
回复
select * from 表 where rq=convert(datetime,getdate(),120)
愉快的登山者 2003-08-25
  • 打赏
  • 举报
回复
select convert(char,getdate(),120)
SnowmanBaby1 2003-08-25
  • 打赏
  • 举报
回复
是的,在我的项目中因为时间问题取不出正确的数据来,以上的回答都取不出数据来
虽然select * from 表 where CONVERT(varchar(10),rq,120)=CONVERT(varchar(10), getDate(),120)能取出数据,但是在我的库中每隔几秒钟就会有数据,执行这个语句就会有很多行记录出来,而我只要的是一行记录,即我要查的是精确到秒的数据。还有就是数据库里肯定有getdate()取的那个时间,就是取不出来数,即语句改成select * from 表 where CONVERT(varchar(19),rq,120)=CONVERT(varchar(19), getDate(),120)就取不出来数据了。
mjhnet 2003-08-25
  • 打赏
  • 举报
回复
getdate()函数的返回值是当前时间,不断在变化的,当然查不出什么有意义的结果来
lfangxiao 2003-08-25
  • 打赏
  • 举报
回复
不是把,精确到毫秒也能查出数据来?怎样知道你查询的瞬间刚好有用户保存了数据?

22,206

社区成员

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

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