在 SQL Server 2008 中,考慮一個名為 Zone 的表,其中包含 ZoneReference 列作為主鍵。執行查詢 SELECT '"' ZoneReference '"' AS QuotedZoneReference FROM Zone WHERE ZoneReference = 'WF11XU' 意外傳回帶有尾隨空格的「WF11XU 」。
這是由於 SQL Server 遵守 ANSI/ISO SQL- 92 規範,其中字串已填入比較,並在長度符合時視為等效。因此,'abc' 和 'abc ' 被視為相等。
此行為也會影響 WHERE 子句謂詞,其中尾隨空格將被忽略。但是,LIKE 謂詞是個例外,當表達式右側存在尾隨空格時,它會比較沒有填滿的值。
要在比較中抑制尾隨空格,請考慮使用 TRIM() 函數您的查詢或資料操作語句。
以上是SQL Server 的 WHERE 子句如何處理字串比較中的尾隨空格?的詳細內容。更多資訊請關注PHP中文網其他相關文章!