2
爲什麼我只能得到一個結果?SQL SERVER替換函數工作奇數
select replace(N'2',N'2','X') as Text
union
select replace(N'2',N'²','X') as Text
第二個SELECT語句包含一個平方。
@@版本=的Microsoft SQL Server 2012 - 11.0.5623.0
爲什麼我只能得到一個結果?SQL SERVER替換函數工作奇數
select replace(N'2',N'2','X') as Text
union
select replace(N'2',N'²','X') as Text
第二個SELECT語句包含一個平方。
@@版本=的Microsoft SQL Server 2012 - 11.0.5623.0
行爲取決於歸類的區分大小寫:
SELECT REPLACE(N'2' COLLATE Latin1_General_CS_AS, N'2' COLLATE Latin1_General_CS_AS,'X' COLLATE Latin1_General_CS_AS) as Text
UNION
SELECT REPLACE(N'2' COLLATE Latin1_General_CS_AS, N'²' COLLATE Latin1_General_CS_AS,'X' COLLATE Latin1_General_CS_AS) as Text
GO
--results:
X
2
SELECT REPLACE(N'2' COLLATE Latin1_General_CI_AS, N'2' COLLATE Latin1_General_CI_AS,'X' COLLATE Latin1_General_CI_AS) as Text
UNION
SELECT REPLACE(N'2' COLLATE Latin1_General_CI_AS, N'²' COLLATE Latin1_General_CI_AS,'X' COLLATE Latin1_General_CI_AS) as Text
GO
--results:
X
當文字表述沒有指定整理,數據庫默認排序規則被使用。
'N'2''必須得到與'N'²''相同的對待。 –
你確定你真的進入了查詢的平方嗎? –
這裏是證明'選擇1,其中N'²'= N'2''返回'1'。看起來像SQL SERVER''2'='2'。所以這兩個選擇都用'X'替換。 –