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