【发布时间】:2017-09-13 01:13:58
【问题描述】:
我有这段代码不工作。 @SomeDateis ofdatetime` 数据类型。我只对日期部分感兴趣,比较时不需要时间:
DECLARE @year VARCHAR = datepart(year,@SomeDate)
DECLARE @FromDate DATE = CAST(@year + '-' + CAST(1 AS varchar) + '-' + CAST(1 AS varchar) AS DATETIME)
DECLARE @ToDate DATE = CAST(@year + '-' + CAST(5 AS varchar) + '-' + CAST(1 AS varchar) AS DATETIME)
IF (@SomeDate NOT BETWEEN @FromDate AND @ToDate)
分配@FromDate 和@ToDate 变量时失败,它说:conversion varchar into datetime is out of the interval
尝试 #1:
DECLARE @year VARCHAR(4) = datepart(year,@SomeDate)
DECLARE @FromDate DATE = CAST(@year + '-' + CAST(1 AS varchar(2)) + '-' + CAST(1 AS varchar(2)) AS DATETIME)
DECLARE @ToDate DATE = CAST(@year + '-' + CAST(5 AS varchar(2)) + '-' + CAST(1 AS varchar(2)) AS DATETIME)
IF (@SomeDate NOT BETWEEN @FromDate AND @ToDate)
但不工作
【问题讨论】:
-
你能更好地定义“不工作”吗?
-
好吧,你说的是FromData而不是FromDate。如果需要帮助,请清理它。
-
您使用的是什么版本的 SQL?
-
Xedni 标记为 2008。
-
非常抱歉,在分配FromDate和ToDate时失败,它说:conversion varchar into datetime is out of the interval
标签: sql sql-server sql-server-2008