首页 > 解决方案 > GetDate() 返回常量字面错误,如何解决?

问题描述

我正在尝试将GETDATE()值插入具有数据类型的列中datetime2。但我收到以下错误。我正在使用 Azure SQL 数据库。

此错误特定于我使用的 getdate() 函数。我看到类似的问题和相同的错误消息,但这种情况完全不同。

CREATE TABLE [dbo].[test] 
(
    [procedureName] NVARCHAR(900) COLLATE Latin1_General_100_CI_AS_KS_WS NULL, 
    [configCreated] DATETIME2(7) NOT NULL, 
    [configModified] DATETIME2(7) NOT NULL
)

知道为什么我会收到此错误吗?我在我的本地 SQL Server 数据库中尝试过,它可以工作,但不能在我的办公室中使用。我从头到尾都尽力了。

插入 dbo.ETLLoadConfig('abc',getdate(), getdate()) - 它在 azure sql DB 中失败

甚至也尝试过:使用 as(select cast(getdate() as datetime2) as date1) 插入 dbo.ETLLoadConfig('abc',(select date1 from a), (select date1 from a))

insert values 语句只能包含常量文字值或变量引用

标签: sqlsql-server-2008azure-sql-database

解决方案


推荐阅读