20

我正在尝试使用以下命令将当前日期转换为 SQL 存储过程中的变量

DECLARE @LastChangeDate as date
SET @LastChangeDate = SELECT GETDATE()

这给了我以下错误:“'SELECT'附近的语法不正确”

这是我编写的第一个存储过程,所以我不熟悉变量在 SQL 中的工作方式。

4

5 回答 5

37

你不需要SELECT

DECLARE @LastChangeDate as date
SET @LastChangeDate = GetDate()
于 2012-07-30T17:00:22.273 回答
12

只用GetDate()Select GetDate()

DECLARE @LastChangeDate as date 
SET @LastChangeDate = GETDATE() 

但如果是 SQL Server,您也可以在声明的同一步骤中初始化...

DECLARE @LastChangeDate date = getDate()
于 2012-07-30T17:00:05.123 回答
3
DECLARE @LastChangeDate as date 
SET @LastChangeDate = GETDATE() 
于 2012-07-30T16:59:38.717 回答
2
SELECT @LastChangeDate = GETDATE()
于 2012-07-30T16:59:45.370 回答
1

您也可以使用CURRENT_TIMESTAMP它。

根据BOL CURRENT_TIMESTAMPANSI SQL等价于GETDATE()

DECLARE @LastChangeDate AS DATE;
SET @LastChangeDate = CURRENT_TIMESTAMP;
于 2015-10-14T20:31:00.830 回答