我有一個只包含varchar列的表。每個字段都有相同的模式''xxxxx'',我想清除/修剪每個字段中的前導和尾部「。對於以動態的方式中的所有列(帶有一組動態的列名)如何將函數應用於所有字段(所有行的所有列)
感謝
我有一個只包含varchar列的表。每個字段都有相同的模式''xxxxx'',我想清除/修剪每個字段中的前導和尾部「。對於以動態的方式中的所有列(帶有一組動態的列名)如何將函數應用於所有字段(所有行的所有列)
感謝
這裏是你可以做到這一點的方法之一。這將需要一些動態SQL無論你如何分析這是因爲你必須動態獲取列名稱
declare @SQL nvarchar(max)
select @SQL = 'Update YourTable set ' + STUFF((select ', replace(' + QUOTENAME(c2.name) + ', ''"'', '''')'
from sys.columns c2
where object_id = object_id('YourTable')
order by c2.column_id
for xml path('')), 1, 1, '')
from sys.columns
where object_id = object_id('YourTable')
group by object_id
select @SQL
--exec sp_executesql @SQL --You can uncomment this when you comfortable with the output
使用sys.colum ns爲你生成你的sql。 –
@SeanLange:你可以給我一個工作的例子,因爲我開始SQL開發 – Dave
你想只修剪列名或數據? – p2k