Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

SQL :rechercher une chaîne dans chaque colonne varchar d'une base de données

En utilisant la technique trouvée ici, le script suivant génère des SELECT pour toutes les colonnes ((n)var)char dans la base de données donnée. Copiez/collez la sortie, supprimez la toute dernière 'union' et exécutez.. Vous devrez remplacer MISSPELLING HERE par la chaîne que vous recherchez.

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');