Pages - Menu

2018年11月29日 星期四

[MSSQL]資料內的隱藏字元處理方式

碰到個怪事,
當初資料匯入的時候也沒檢查太多。
用肉眼看一直看不出來,最後用

select STOCK_NO,DATALENGTH(stock_no),CONVERT(VARBINARY, STOCK_NO) from STOCK_RECORD

才找出問題。
image

以下繼續



下面是已經改好的資料。
image
用datalength可以查出有問題的資料長度是15,且最後varbinary的最後會多出 0909
還在想那個0909是什麼,
突然看到97 拆成ASCII的十進位 是 39 跟 37 (參考:Ascii code Table)
然後去找到 09 09 ,才發現,原來是Tab…
image
最快的方法就是直接update資料,
或也可以利用

replace(stock_no,'    ','')

的方式去找值,第二個參數是Tab
附註: 因為是tab所以不管你怎麼下ltrim,rtrim通通都沒用

沒有留言:

張貼留言