我們從今天的生產中獲得了有趣的問題:)現在一切都很好,但我仍然不明白一件事。讓我告訴你這個問題。SQL Server與空白空間的nvarchar比較
IF OBJECT_ID('tempdb.dbo.#results', 'U') IS NOT NULL
DROP TABLE #results;
CREATE TABLE #results(
[id] smallint,
[name] nvarchar(128)
)
insert into #results values (1, 'JOHN NOWAK '), (2, 'frog'), (3, 'wine')
declare @nazwa_p nvarchar(128) = 'JOHN NOWAK';
SELECT * FROM #results WHERE [name] = @nazwa_p
SELECT * FROM #results WHERE [name] like @nazwa_p
首先查詢結果
1 JOHN NOWAK
第二個查詢給我什麼。這是爲什麼? =
運營商是否運行RTRIM()
方法?
感謝任何答案。
感謝您的回答,我們已經添加了通配符匹配%,但是我們不知道在等號比較中忽略了尾部空格,我找不到在文檔:) – Zabaa
[這是ANSI標準](https://support.microsoft.com/en-us/help/316626/inf-how-sql-server-compares-strings-with-trailing-spaces)。如果你願意,你可以將你的實例設置爲**而不是** – scsimon