gpt4 book ai didi

SQL:在数据库中的每个 varchar 列中搜索字符串

转载 作者:行者123 更新时间:2023-12-02 03:42:08 27 4
gpt4 key购买 nike

我有一个数据库,其中拼写错误的字符串出现在不同表的不同位置。是否有一个 SQL 查询可用于在数据库中每个可能的 varchar/text 列中搜索该字符串?

我正在考虑尝试以某种方式使用 information_schema View 来创建动态查询,但我不确定这是否可行,或者是否有更好的方法。

如果有帮助的话,我正在使用 MS SQL Server。

最佳答案

使用发现的技术here以下脚本为给定数据库中的所有 ((n)var)char 列生成 SELECT。复制/粘贴输出,删除最后一个“union”并执行。您需要将 MISSPELLING HERE 替换为您要查找的字符串。

select 
'select distinct ''' + tab.name + '.' + col.name
+ ''' from [' + tab.name
+ '] where [' + col.name + '] like ''%MISSPELLING HERE%'' union '
from sys.tables tab
join sys.columns col on (tab.object_id = col.object_id)
join sys.types types on (col.system_type_id = types.system_type_id)
where tab.type_desc ='USER_TABLE'
and types.name IN ('CHAR', 'NCHAR', 'VARCHAR', 'NVARCHAR');

关于SQL:在数据库中的每个 varchar 列中搜索字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/834912/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com