Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Chinese_Taiwan_Stroke_CI_AS" in the equal to operation.
建立臨時表時會以資料庫伺服器預設定序來建立
當伺服器(比如 LocalDb or Azure SQL)預設定序(SQL_Latin1_General_CP1_CI_AS)
與當前資料庫(資料表或預存程序)不一致(Chinese_Taiwan_Stroke_CI_AS)時,就會報錯
CREATE TABLE #tmplist (
name nvarchar(15),
desc nvarchar(128));
需要將原本每個 nvarchar 後面都加上要使用的定序 (COLLATE Chinese_Taiwan_Stroke_CI_AS
)
CREATE TABLE #tmplist (
name nvarchar(15) COLLATE Chinese_Taiwan_Stroke_CI_AS,
desc nvarchar(128) COLLATE Chinese_Taiwan_Stroke_CI_AS);
結論
新專案請使用 Code First
參照
SQL Server的 排序规则(collation)冲突和解决方案 - LanceZhang - 博客园 (cnblogs.com)