簡體   English   中英

為什么忽略 SQL Server 2014 中的空格文本

[英]Why ignoring space text in SQL Server 2014

當我比較這樣的文字時:

'a' = 'a '

結果是真——但我原以為它是假的。

你知道為什么結果是真的嗎? 我可以做些什么來解決這個問題嗎?

您可以使用DATALENGTH()

例子

SELECT * FROM TableName WHERE DATALENGT('a') = DATALENGTH('a ')

DATALENGT('a')將結果返回為 1
DATALENGTH('a ')返回結果為 2,包括空格文本。

請檢查db<>fiddle以供參考。

LIKE 運算符不填充尾隨空格:

SELECT * FROM basePath WHERE 'a' LIKE 'a '

更多信息可以在這里找到: https://dba.stackexchange.com/questions/56876/sql-server-auto-trim-of-varchar-value-in-equal-comparison-but-not-like-compariso

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM