| 閱文時長 | | 0.28分鐘 | 字數統計 | | 456.8字符 |
| 主要內容 | | 1、引言&背景 2、情景還原&解決方案 3、宣告與參考資料 | ||
| 『MSSQL·WHERE過濾含空格字串的坑』 | |||
| 撰寫人 | | SCscHero | 撰寫時間 | | 2022/1/18 PM8:14 |
| 文章型別 | | 系列 | 完成度 | | 已完成 |
| 座右銘 | 每一個偉大的事業,都有一個微不足道的開始, | ||
一、引言&背景 完成度:100%
a) 應對問題
在使用MSSQL,使用WHERE關鍵字過濾"末尾含空格字串"和"末尾不含空格的字串"時,回傳了相同的結果集,
b) 應用場景
- WHERE關鍵字過濾"末尾含空格字串"和"末尾不含空格的字串"時,
c) 分析思路
個人理解是由于WHERE過濾的字串做了Trim空格的處理,
二、情景還原&解決方案 完成度:100%
a) 情景還原
SELECT COUNT(1) FROM TestTable WHERE testField = 'X' COLLATE Chinese_PRC_CS_AS --WHERE篩選不帶空格:結果錯誤
SELECT COUNT(1) FROM TestTable WHERE testField = 'X ' COLLATE Chinese_PRC_CS_AS --WHERE篩選帶空格:結果錯誤
SELECT COUNT(1) FROM TestTable WHERE testField LIKE 'X' COLLATE Chinese_PRC_CS_AS --LIKE篩選不帶空格:結果正確
SELECT COUNT(1) FROM TestTable WHERE testField LIKE 'X ' COLLATE Chinese_PRC_CS_AS --LIKE篩選帶空格:結果正確
b) 解決方案
使用LIKE代替WHERE做篩選,
三、宣告與參考資料 完成度:100%
原創博文,未經許可請勿轉載,
如有幫助,歡迎點贊、收藏、關注,如有問題,請評論留言!如需與博主聯系的,直接博客私信SCscHero即可,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/415322.html
標籤:SQL Server
