我想知道如何将表中所有列名称及其值的所有数据转换为大写。数据可能包含int
但它会忽略它。我所做的就是手动将第 1 列更新为 1,这非常耗时。
有没有类似这样的说法:
UPDATE cust SET cust.* = UPPER(cust.*)
Run Code Online (Sandbox Code Playgroud)
谢谢~
动态 SQL 可能是您唯一的选择。像这样的事情应该使用FOR XML
查询INFORMATION_SCHEMA.COLUMNS
:
declare @query varchar(max)
set @query = ''
select @query =
STUFF((
select ';UPDATE ' + table_name + ' SET ' + column_name + ' = UPPER(' + column_name + ')'
from INFORMATION_SCHEMA.COLUMNS
order by table_name, column_name
for xml path('')
), 1, 1, '')
execute(@query);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6328 次 |
最近记录: |