В SQL Server 2017 (14.0.2)
Рассмотрим следующую таблицу:
CREATE TABLE expTest
(
someNumbers [NVARCHAR](10) NULL
)
Допустим, вы заполнили таблицу некоторыми значениями:
INSERT INTO expTest VALUES('²', '2')
Почему следующий SELECT возвращает обе строки?
SELECT *
FROM expTest
WHERE someNumbers = '2'
Разве nvarchar
не должен понимать, что '²' - это юникод, а '2' - это отдельное значение? Как (без использования функции UNICODE ()) я могу идентифицировать эти данные как неэквивалентные?