把資料拿來測試也覺得很神奇,同樣的條件,竟然一個找的到,一個找不到
把兩個搜尋條件轉成 varbinary 來觀察,就發現問題點
0x41 是 ASCII A 沒有問題,查 0x0341 是一個 unicdoe 符號,詳見該資料,但問題是該欄位資料型態是 char,又不是 nchar 或 nvarchar,對於編碼議題不熟,感覺這又不是 root casue,只能請使用者刪除後重新 key 資料,結案。
原想把上述測試結果記錄在 OneNote 時,TSQL 語法複製進去,兇手就現形啦,A 前面有一個隱藏字元
把該隱藏字元單獨複製進 SSMS 內轉 varbinary 來觀察,是 End of Text 符號,Orz
- 參考資料
- [SQL]奇怪的 Unicode
- 控制字元
沒有留言:
張貼留言