逗号分隔字符串到存储过程

时间:2017-03-13 05:24:18

标签: sql-server stored-procedures

我正在使用SQL Server,我有一个表。 id列是主键。我将几个1,2,3,4值作为逗号分隔的字符串发送到存储过程(例如:RewriteEngine on RewriteCond %{HTTP_HOST} ^www\. [OR] RewriteCond %{HTTPS} off RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ RewriteRule ^ https://%1%{REQUEST_URI} [NE,L,R] )。我需要将两列更新为字符串值' A'。任何人都可以给我一个例子,说明如何在存储过程中处理这些多个值?

2 个答案:

答案 0 :(得分:0)

你可以用不同的方式做到这一点。它可能是以下之一。

UPDATE dbo.YourTable
SET ColumnA = 'A'
WHERE 
    ',' + '1,2,3,4' + ',' LIKE '%,' + CAST(Id AS VARCHAR(100)) + ',%'

您可以使用sp_executesql

执行此操作

答案 1 :(得分:0)

您可以在字符串中创建更新,然后执行它:

declare @myQuery as char(100) = 'update myTable set ColumnA = ''A'', ColumnB = ''A'' where Id in (' + @myParameterString +')'
execute(@myQuery)

注意:要在T-SQL中转义单引号,您必须输入两个单引号(例如,在'' A''中)。