SQL查询选择两个日期字段之间的数据无效

SQL查询选择两个日期字段之间的数据无效,sql,sql-server,Sql,Sql Server,我的表中有以下值 Select * From TimeSheetLogs where InTimeStamp <= '1/22/2013' 当我执行上述查询时,我得到空值 但正如您所见,我有3个数据,日期字段为2013年1月22日 那我做错了什么 谢谢,这是正确的,因为 '1/22/2013 19:21' > '1/22/2013 00:00' 这是正确的,因为 '1/22/2013 19:21' > '1/22/2013 00:00' 根据我对@Zdravko的好答案的

我的表中有以下值

Select * From TimeSheetLogs where InTimeStamp <= '1/22/2013'
当我执行上述查询时,我得到空值

但正如您所见,我有3个数据,日期字段为2013年1月22日

那我做错了什么


谢谢,这是正确的,因为

'1/22/2013 19:21' > '1/22/2013 00:00'

这是正确的,因为

'1/22/2013 19:21' > '1/22/2013 00:00'

根据我对@Zdravko的好答案的评论,你只需要投下你的日期:

Select * From TimeSheetLogs where CAST(InTimeStamp as Date) <= '1/22/2013' 

根据我对@Zdravko的好答案的评论,你只需要投下你的日期:

Select * From TimeSheetLogs where CAST(InTimeStamp as Date) <= '1/22/2013' 

您可能需要先截断日期以删除时间部分。然后将两侧转换为日期数据类型。字符串“1/22/2013”是字符串,不是日期。通过查看数据,您的InTimeStamp是timestamp数据类型。不能将日期或时间戳与字符进行比较,而不能将字符转换为日期。我不确定你用的是什么数据库。这是您在Oracle中使用to_date函数进行转换的方式

SELECT in_date, compare_date
  FROM
 (-- This is your InTimeStamp on the fly
  SELECT trunc(to_timestamp('2013-01-22 16:21:19.273', 'yyyy-mm-dd hh24:mi:ss.ff')) in_date -- this is your InTimeStamp  
      , to_date('1/22/2013', 'mm/dd/yyyy') compare_date
   FROM dual
 )
 WHERE in_date <= compare_date
/

Now you can compare two dates below - this is the output of above query:

in_date     compare_date
----------  ------------
1/22/2013   1/22/2013

您可能需要先截断日期以删除时间部分。然后将两侧转换为日期数据类型。字符串“1/22/2013”是字符串,不是日期。通过查看数据,您的InTimeStamp是timestamp数据类型。不能将日期或时间戳与字符进行比较,而不能将字符转换为日期。我不确定你用的是什么数据库。这是您在Oracle中使用to_date函数进行转换的方式

SELECT in_date, compare_date
  FROM
 (-- This is your InTimeStamp on the fly
  SELECT trunc(to_timestamp('2013-01-22 16:21:19.273', 'yyyy-mm-dd hh24:mi:ss.ff')) in_date -- this is your InTimeStamp  
      , to_date('1/22/2013', 'mm/dd/yyyy') compare_date
   FROM dual
 )
 WHERE in_date <= compare_date
/

Now you can compare two dates below - this is the output of above query:

in_date     compare_date
----------  ------------
1/22/2013   1/22/2013

那么,我应该做些什么来获取date 22的值。从TimeSheetLogs中选择*,其中CastinItemStamp为date,那么我应该做些什么来获取date 22的值。从TimeSheetLogs中选择*,其中CastinItemStamp为date