SQL TempTable 錯誤代碼 468

在SQL下指令時,有時會用到TempTable來做資料暫存的處理,今日就碰巧TempTable的問題。

 


錯誤訊息是

「Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Chinese_Taiwan_Stroke_CI_AS" in the equal to operation.」

錯誤代碼是 468

上網搜尋一下資料,推測應該是TempTable的所產生的資料與當前資料定序不符

解決方式

在要撈出資料的欄位後方加入

 COLLATE DATABASE_DEFAULT

這段語法的意思是,把資料庫的定序莫認為當前資料庫定序,也就順勢化解了原先的問題

實際範例

 SELECT *
 FROM dbo.XXX WITH(NOLOCK)
 WHERE Code IN
 ( 
  SELECT Code COLLATE DATABASE_DEFAULT FROM #ExpiringCode 
 )

參考連結

搜尋關鍵字「SQL 468」


LINE討論群FB討論區

歡迎您的加入,讓這個社群更加美好!

聯絡方式:
FaceBook
E-Mail