Sql 查找和删除数据库中的值

Sql 查找和删除数据库中的值,sql,sql-server-2008,Sql,Sql Server 2008,如何查找SQL Server数据库,所有记录中的一列(我不知道名称)包含值“aaa”和“bbb”??。我将从此列中删除这些值。不要删除列,仅删除值 这对于有限的使用是可以的 SELECT 'Starting' WHILE @@ROWCOUNT <> 0 UPDATE MyTable SET myValue1 = CASE WHEN @columname = 'myValue1'

如何查找SQL Server数据库,所有记录中的一列(我不知道名称)包含值“aaa”和“bbb”??。我将从此列中删除这些值。不要删除列,仅删除值

这对于有限的使用是可以的

SELECT 'Starting'
WHILE @@ROWCOUNT <> 0
    UPDATE MyTable
    SET
       myValue1 = CASE
                    WHEN @columname = 'myValue1'
                    THEN REPLACE(REPLACE(myValue1, 'bbb', ''), 'aaa', '')
                    ELSE myValue1 
                  END,
       myValue2 = CASE
                    WHEN @columname = 'myValue2'
                    THEN REPLACE(REPLACE(myValue2, 'bbb', ''), 'aaa', '')
                    ELSE myValue2 
                  END,
       myValue3 = CASE
                    WHEN @columname = 'myValue3'
                    THEN REPLACE(REPLACE(myValue3, 'bbb', ''), 'aaa', '')
                    ELSE myValue3 
                  END,
       ...
选择“启动”
而@@ROWCOUNT 0
更新MyTable
设置
myValue1=案例
当@ColumnName='myValue1'
然后替换(替换(myValue1,'bbb','','aaa','')
ELSE myValue1
完,,
myValue2=案例
当@ColumnName='myValue2'
然后替换(替换(myValue2,'bbb','','aaa','')
ELSE myValue2
完,,
myValue3=案例
当@ColumnName='myValue3'
然后替换(替换(myValue3,'bbb','','aaa','')
其他我的价值3
完,,
...

您可能需要编写一个T-SQL块(或过程),它接受列参数作为varchar,并创建一个动态更新(或删除)SQL语句,您需要通过sp_executesql执行该语句

sp_executesql('Update MyTable Set ' + @Your_column + ' = <the logic goes here>');
在上述任何一种情况下,您都必须使用T-SQL块来实现此目标

Select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS Where TABLE_NAME='MyTable';