[SQLスタディノート] SQL SERVERは、データベース内の特定の並べ替えルールのテーブルとフィールドをクエリします

データベースサーバーはLinuxシステムを使用しているため、データベースの作成時に注意が払われておらず、データベースの一部のテーブルの一部のフィールドの並べ替え規則では、中国語以外の並べ替え方法が使用されていました。
これらのフィールドの中国語のコンテンツは文字化けしています。並べ替え方法を変更しない場合、データベースに含まれるストアドプロシージャをコードで特別に処理する必要があり、次々にストアドプロシージャを調べるのに非常に長い時間がかかります。プロセス。
したがって、これらのフィールドの照合を中国語の照合に修正することが最終的な解決策になっています。
変更を行うには、まず間違った並べ替え規則のフィールドをクエリする必要があるため、次のコードを記述します。

--查询本数据库中,所有表的所有字段,筛选出其中排序规则使用了非中文排序方式的字段
SELECT
	 [表名] = MyTables.[name]
	,[字段名] = C.[name]
	,[数据类型] = ST.[name]
	,[排序规则] = C.[collation_name]
FROM sys.columns C 
JOIN sys.types ST ON C.[user_type_id] = ST.[user_type_id]
JOIN sys.tables MyTables ON C.[object_id] = OBJECT_ID(MyTables.[name])
WHERE C.[collation_name] NOT LIKE '%Chinese_PRC_CI_AS%'
元の23件の記事を公開 いいね1 20,000以上の訪問

おすすめ

転載: blog.csdn.net/shenjie_xsj/article/details/105252838
おすすめ