检查T-SQL中两个日期之间的日期

Geo*_*VIP 7 t-sql sql-server between

我有一个存储过程,希望检查日期是在固定日期和当前日期/时间之间(带GETDATE()):

SELECT
    a, b
FROM myTbl
WHERE
    DATE BETWEEN 'Day start datetime' AND GETDATE()
Run Code Online (Sandbox Code Playgroud)

...例如 :

WHERE
    DATE BETWEEN '2013-09-10 00:00:00.00' AND 'GETDATE()'
Run Code Online (Sandbox Code Playgroud)

怎么做?

Dam*_*ver 15

一对DATEADD/ DATEDIFF电话会将日期缩短到前一个午夜:

SELECT a , b
FROM myTbl
WHERE DATE BETWEEN DATEADD(day,DATEDIFF(day,0,GETDATE()),0) and GETDATE()
Run Code Online (Sandbox Code Playgroud)

或者,如果您使用的是SQL Server 2008或更高版本:

SELECT a , b
FROM myTbl
WHERE DATE BETWEEN CONVERT(date,GETDATE()) and GETDATE()
Run Code Online (Sandbox Code Playgroud)


Dar*_*ren 6

'GETDATE()'是一个字符串文字,GETDATE()是一个T-SQL函数.

您的查询应如下所示:

SELECT a , b
FROM myTbl
WHERE DATE BETWEEN '2013-09-10 00:00:00.0' and GETDATE()
Run Code Online (Sandbox Code Playgroud)