SELECT * FROM MyTable WHERE MyRow IN ('100','200','300')
试图通过声明这样一个局部变量上面做:如何声明一串字符串?
DECLARE @What VARCHAR(MAX)
SET @What = '100','200','300'
SELECT * FROM MyTable WHERE MyRow IN (@What)
有什么办法,使这项工作?有“试”这样的:
SET @What = "'100','200','300'"
这:
SET @What = ('100','200','300')
第一个是最符合逻辑的,因为它可以多在任何其他语言,但SQL中使用。 @What
的长度会有所不同,所以我不能每个都只有一个变量。
如何声明一个本地字符串变量来包含字符串?
“因为它可以多在其他语言中使用,但SQL”真的吗?你可以命名任何其他语言,系统将检查一个* single *字符串参数的内容,找到内部的逗号并决定将其转换为*多个*参数?我不知道有这样的行为。在这种语言中,如何将逗号作为参数的合法部分的参数传递给它? –
我正在讨论带双引号的字符串中带单引号的字符串。在SQL中,双引号不存在。 – Espen