sql以时间字段等于精确到秒的时间为条件查询

loveqise 2017-04-13 11:39:52
DATE(表中字段)='2017/4/13 10:32:37',查询不出结果,表中DATE有一个相等字段
...全文
2697 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
道素 2017-04-15
  • 打赏
  • 举报
回复
时间比较可以试试用Datediff函数

IF  DATEDIFF(MILLISECOND,GETDATE(),GETDATE())=0
BEGIN
    PRINT 'Same time'
END
唐诗三百首 2017-04-14
  • 打赏
  • 举报
回复
引用 7 楼 loveqise 的回复:
怎么查到毫秒位,我是直接讲DATE字段查询结果复制出来作为条件,用SELECT DATE FROM 表

where convert(varchar,[字段名],120)='2017-04-13 10:32:37'
  • 打赏
  • 举报
回复
用convert 转下 日期格式
吉普赛的歌 2017-04-14
  • 打赏
  • 举报
回复
引用 11 楼 cjws555 的回复:
[quote=引用 5楼唐诗三百首 的回复:]可能是字段值的秒之后还有毫秒值, 例如 2017/4/13 10:32:37.123 查询时需精确匹配到毫秒值, 如 where [字段名]='2017/4/13 10:32:37.123'
有这么精确吗[/quote] 最好是用 #9。 #10 的可以, 但如果有索引却用不到。 或者 :
select * from test 
where dd >= '2017/4/13 10:32:37.000' AND dd < '2017/4/13 10:32:38'
cjws555 2017-04-14
  • 打赏
  • 举报
回复
引用 5楼唐诗三百首 的回复:
可能是字段值的秒之后还有毫秒值, 例如 2017/4/13 10:32:37.123 查询时需精确匹配到毫秒值, 如 where [字段名]='2017/4/13 10:32:37.123'
有这么精确吗
loveqise 2017-04-13
  • 打赏
  • 举报
回复
引用 4楼卖水果的net 的回复:

-- 是不是还有毫秒?


create table test(dd datetime, name varchar(10))
go
insert into test values
('2017/4/13 10:32:36.000', 'xxx'),
('2017/4/13 10:32:37.123', 'yyy'),
('2017/4/13 10:32:38.100', 'zzz')
go
print '-- 条件 '
select * from test where dd = '2017/4/13 10:32:37'
go
print '-- 所有数据'
select * from test
go
drop table test 
go


(3 行受影响)
-- 条件 
dd                      name
----------------------- ----------

(0 行受影响)

-- 所有数据
dd                      name
----------------------- ----------
2017-04-13 10:32:36.000 xxx
2017-04-13 10:32:37.123 yyy
2017-04-13 10:32:38.100 zzz

(3 行受影响)


查询的时候怎么去除毫秒位
loveqise 2017-04-13
  • 打赏
  • 举报
回复
引用 5楼唐诗三百首 的回复:
可能是字段值的秒之后还有毫秒值, 例如 2017/4/13 10:32:37.123 查询时需精确匹配到毫秒值, 如 where [字段名]='2017/4/13 10:32:37.123'
怎么查到毫秒位,我是直接讲DATE字段查询结果复制出来作为条件,用SELECT DATE FROM 表
loveqise 2017-04-13
  • 打赏
  • 举报
回复
引用 4楼卖水果的net 的回复:

-- 是不是还有毫秒?


create table test(dd datetime, name varchar(10))
go
insert into test values
('2017/4/13 10:32:36.000', 'xxx'),
('2017/4/13 10:32:37.123', 'yyy'),
('2017/4/13 10:32:38.100', 'zzz')
go
print '-- 条件 '
select * from test where dd = '2017/4/13 10:32:37'
go
print '-- 所有数据'
select * from test
go
drop table test 
go


(3 行受影响)
-- 条件 
dd                      name
----------------------- ----------

(0 行受影响)

-- 所有数据
dd                      name
----------------------- ----------
2017-04-13 10:32:36.000 xxx
2017-04-13 10:32:37.123 yyy
2017-04-13 10:32:38.100 zzz

(3 行受影响)


怎么查到毫秒位,我是直接讲DATE字段查询结果复制出来作为条件,用SELECT DATE FROM 标
唐诗三百首 2017-04-13
  • 打赏
  • 举报
回复
可能是字段值的秒之后还有毫秒值, 例如 2017/4/13 10:32:37.123 查询时需精确匹配到毫秒值, 如 where [字段名]='2017/4/13 10:32:37.123'
卖水果的net 2017-04-13
  • 打赏
  • 举报
回复

-- 是不是还有毫秒?


create table test(dd datetime, name varchar(10))
go
insert into test values
('2017/4/13 10:32:36.000', 'xxx'),
('2017/4/13 10:32:37.123', 'yyy'),
('2017/4/13 10:32:38.100', 'zzz')
go
print '-- 条件 '
select * from test where dd = '2017/4/13 10:32:37'
go
print '-- 所有数据'
select * from test
go
drop table test 
go


(3 行受影响)
-- 条件 
dd                      name
----------------------- ----------

(0 行受影响)

-- 所有数据
dd                      name
----------------------- ----------
2017-04-13 10:32:36.000 xxx
2017-04-13 10:32:37.123 yyy
2017-04-13 10:32:38.100 zzz

(3 行受影响)


卖水果的net 2017-04-13
  • 打赏
  • 举报
回复

-- 方便贴些数据上来吗 ?

create table test(dd datetime, name varchar(10))
go
insert into test values
('2017/4/13 10:32:36', 'xxx'),
('2017/4/13 10:32:37', 'yyy'),
('2017/4/13 10:32:38', 'zzz')
go
select * from test where dd = '2017/4/13 10:32:37'
go
drop table test 
go

(3 行受影响)
dd                      name
----------------------- ----------
2017-04-13 10:32:37.000 yyy

(1 行受影响)


loveqise 2017-04-13
  • 打赏
  • 举报
回复
引用 1楼卖水果的net 的回复:
不会的, 表中DATE有一个相等字段 这个列,数据类型是什么类型?
datetime类型的
卖水果的net 2017-04-13
  • 打赏
  • 举报
回复
不会的, 表中DATE有一个相等字段 这个列,数据类型是什么类型?
卖水果的net 2017-04-13
  • 打赏
  • 举报
回复
引用 6 楼 loveqise 的回复:
怎么查到毫秒位,我是直接讲DATE字段查询结果复制出来作为条件,用SELECT DATE FROM 标

select * from test 
where dd between '2017/4/13 10:32:37.000' and '2017/4/13 10:32:37.999'
go

22,209

社区成员

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

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