我有一张约有10列的表格,其中包含约5000行数据。我想弄清楚是否用小写字母填充了任何列的任何字段,然后我需要对其进行修复。因为,对于ETL流程,我需要所有列都大写。
我猜是否有一个查询将所有字母数字列或大写的任何列都应该工作。但是我很好奇也知道如何在整个表中为所有列查找小写字段,因此我知道需要更改什么。
以此为例表
表:学生;
列:f_name,l_name,id,地址,城市,州,邮政编码
最佳答案
OP提到他想在更改之前先查看更改。这将创建一个临时表,其中显示更改,然后回滚UPDATE
查询。
BEGIN TRAN
DECLARE @Changes TABLE (
OLD_f_name VARCHAR(MAX)
,NEW_f_name VARCHAR(MAX)
)
UPDATE Student
SET f_name = UPPER(f_name)
OUTPUT deleted.f_name
,inserted.f_name
INTO @Changes(OLD_f_name, NEW_f_name);
SELECT * FROM @Changes
ROLLBACK TRAN
要实际执行更新,请使用
COMMIT TRAN
而不是ROLLBACK TRAN
。