在@startdate和@enddate之间的sql中不比较时间部分?如何比较日期的时间部分

时间:2010-02-10 05:11:20

标签: tsql

我有这样的查询

SELECT AVAILABILITY_DATE_TIME FROM APPT_PROVIDER_AVAILABILITY
            WHERE AVAILABILITY_DATE_TIME between @START_DATE  AND @END_DATE 

假设我有 if @startdate ='2/11/2010 11:31 :00 AM'和@enddate ='2010年11月2日 11:56 :00 AM'

然后差异为零忽略时间部分。

如果您可以提供查询请使用

表名:APPT_PROVIDER_AVAILABILITY ,列名:AVAILABILITY_DATE_TIME

和@start_date以及@enddate为params

提前致谢

1 个答案:

答案 0 :(得分:2)

忽略时间部分。

  • 检查您的数据 - 您确实在该范围内有记录
  • 检查您的文化设置 - 将字符串'2/11/2010'视为'11 / 2/2010'时将其转换为日期时间
  • 更改参数分配。即使您的文化设置正确,您仍应使用明确的值来进行分配。更像是这样:2010-02-11 11:31:00 AM
  • 检查您的参数定义,即您没有使用较新的“日期”类型。
  • 如果所有其他方法都失败了,请直接写下来:WHERE ([column] >= @startdate AND [column] <= @enddate)