将GETDATE()插入日期时间列时发生Azure数据仓库错误

时间:2019-02-07 23:03:19

标签: sql sql-server sql-insert

我试图将当前日期插入Azure SQL数据仓库中的datetime列中,但出现以下错误。

CREATE TABLE TEST (MYTEXT VARCHAR(15), MYDATE DATETIME); 

INSERT INTO TEST (MYTEXT, MYDATE) 
VALUES ('ABCD', GETDATE());
  

信息104334,第16级,状态1,第11行
  插入值语句只能包含常量文字值或变量引用。

2 个答案:

答案 0 :(得分:1)

  

信息104334,第16级,状态1,第11行
  插入值语句只能包含常量常量值或变量引用。

DECLARE @Date DATETIME;
SET @Date = GETDATE();

INSERT INTO TEST (MYTEXT, MYDATE) 
VALUES ('ABCD', @Date);

第一个值是常量文字,第二个是变量

答案 1 :(得分:1)

在 Azure Synapse(以前称为 Azure 数据仓库)上,插入值只能是常量文字或变量引用。您可以将值设置为变量或更简单的:

CREATE TABLE TEST (MYTEXT VARCHAR(15), MYDATE DATETIME); 

INSERT INTO TEST (MYTEXT, MYDATE) 
SELECT 'ABCD', GETDATE() AS DATETIME;