【发布时间】:2023-01-20 02:04:28
【问题描述】:
有人可以向我解释以下表达式有什么问题吗?我相信那是我正在使用 CONVERT 126 正确转换我的日期,并且我的引号使用 char 39 正确转义,但我可能是错的。
t-sql:
DECLARE @end2 DATETIME2
set @end2 = getdate()
declare @test2 nvarchar(200)
set @test2 = 'select * from openquery(x, '+char(39)+'SELECT OBJID FROM SALE WHERE MODIFIED >= '+char(39)+convert(nvarchar(24),@end2,126)+char(39)+char(39)+')'
print @test2
exec (@test2)
错误:
select * from openquery(x, 'SELECT OBJID FROM SALE WHERE MODIFIED >= '2023-01-19T11:55:21.1233'') 消息 102,级别 15,状态 1,第 121 行 “2023”附近的语法不正确。
尝试了不同的格式、铸造等。
【问题讨论】:
-
你错过了最后的报价
标签: sql-server tsql openquery