Sql Server如何查询日期时间相等记录

时间:2023-02-13 11:13:52
如何做呢?
SELECT * FROM MsgNote WHERE PdaNo = '1234567890123456' AND Time = '2002-6-8 10:40:18'
明明Sql Server中存在符合条件的记录,可是就是查不到记录,为什么?

21 个解决方案

#1


time关键词
[time] ='2002-6-8 10:40:18'

#2


To wangfei2428:
不对呀!

#3


楼上说的很对!就是关键字的问题!
只有改名或是加中跨好啦!

#4


另外,你的PDANO是自动计数么?
去掉引号试试!

#5


另外,你的PDANO是自动计数么?
去掉引号试试!

#6


run the sql statement manually in SQL Query Analyzer to make sure it works

#7


我就是在sql query analyzer中运行的 我发现 datetime < 'datetime'好用
 = 就不行。可以不管我的PdaNo字段.

#8


1.time关键词
  一定使用[time] 或更名

2.如果您采用的DATETIME型,而不是SMALLDATETIME型
  [time] like  '2002-6-8 10:40:18'
 因为DATETIME型精确到毫秒

3.保证PDANO字段类型为字符型;否则除掉引号

#9


看看秒数后面的微秒数是否相同

#10


SELECT *
FROM MsgNote
WHERE [Time] LIKE '2002-6-8'
这样也查不到结果。

#11


不是 [Time] LIKE '2002-6-8'
如果您查某一天的话,这个SELECT语句不会返回正确的记录――它将只返回日期和时间是2002-6-8 12:00:00:000AM的记录。换句话说,只有刚好在午夜零点输入的记录才被返回。

[Time] >='2002-6-8' AND entrydate<'2002-6-9'

[Time] LIKE '2002-6-8%'

#12


[Time] LIKE '2002-6-8%'
这个也查不出记录

#13


您使用的是usa日期格式,采用默认的日期格式mon dd yyyy hh:miAM
试试

#14


CONVERT() 函数

#15


convert(datetime,getdate(),120)
也不行呀.

#16


wait;我建一个库做一下实验,先去吃饭回来告诉你

#17


Thanks wangfei2428

#18


是datepart函数

#19


呵呵,再试试这样吧:
SELECT * FROM MsgNote WHERE PdaNo = '1234567890123456' AND Time LIKE '%02-6-8 10:40:18%'

#20


where DATEPART(dy,[time])=DATEPART(dy,'2001-6-8 12:46:17')

比较年,月,日
如要比较到秒,加上
DATEPART(ss,[time])=DATEPART(ss,'2001-6-8 12:46:17')

#21


try

SELECT * FROM MsgNote WHERE PdaNo = '1234567890123456' AND convert(varchar(10),Time,120) = '2002-06-08'

#1


time关键词
[time] ='2002-6-8 10:40:18'

#2


To wangfei2428:
不对呀!

#3


楼上说的很对!就是关键字的问题!
只有改名或是加中跨好啦!

#4


另外,你的PDANO是自动计数么?
去掉引号试试!

#5


另外,你的PDANO是自动计数么?
去掉引号试试!

#6


run the sql statement manually in SQL Query Analyzer to make sure it works

#7


我就是在sql query analyzer中运行的 我发现 datetime < 'datetime'好用
 = 就不行。可以不管我的PdaNo字段.

#8


1.time关键词
  一定使用[time] 或更名

2.如果您采用的DATETIME型,而不是SMALLDATETIME型
  [time] like  '2002-6-8 10:40:18'
 因为DATETIME型精确到毫秒

3.保证PDANO字段类型为字符型;否则除掉引号

#9


看看秒数后面的微秒数是否相同

#10


SELECT *
FROM MsgNote
WHERE [Time] LIKE '2002-6-8'
这样也查不到结果。

#11


不是 [Time] LIKE '2002-6-8'
如果您查某一天的话,这个SELECT语句不会返回正确的记录――它将只返回日期和时间是2002-6-8 12:00:00:000AM的记录。换句话说,只有刚好在午夜零点输入的记录才被返回。

[Time] >='2002-6-8' AND entrydate<'2002-6-9'

[Time] LIKE '2002-6-8%'

#12


[Time] LIKE '2002-6-8%'
这个也查不出记录

#13


您使用的是usa日期格式,采用默认的日期格式mon dd yyyy hh:miAM
试试

#14


CONVERT() 函数

#15


convert(datetime,getdate(),120)
也不行呀.

#16


wait;我建一个库做一下实验,先去吃饭回来告诉你

#17


Thanks wangfei2428

#18


是datepart函数

#19


呵呵,再试试这样吧:
SELECT * FROM MsgNote WHERE PdaNo = '1234567890123456' AND Time LIKE '%02-6-8 10:40:18%'

#20


where DATEPART(dy,[time])=DATEPART(dy,'2001-6-8 12:46:17')

比较年,月,日
如要比较到秒,加上
DATEPART(ss,[time])=DATEPART(ss,'2001-6-8 12:46:17')

#21


try

SELECT * FROM MsgNote WHERE PdaNo = '1234567890123456' AND convert(varchar(10),Time,120) = '2002-06-08'