Sql 查找和删除数据库中的值
如何查找SQL Server数据库,所有记录中的一列(我不知道名称)包含值“aaa”和“bbb”??。我将从此列中删除这些值。不要删除列,仅删除值 这对于有限的使用是可以的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'
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';