Когда я запускаю следующие примеры кода: я получаю разные результаты (показаны ниже). Пожалуйста, объясните, почему я получаю совпадение во втором примере? Должно быть, мне не хватает понимания.
print @@version
-- First example behaves as expected
declare @strSearch nvarchar(10) = 'x (20) ';
declare @definition nvarchar(100) = 'x (200000000) ';
print charindex(@strSearch, @definition);
go
-- Second example does not behave as expected
declare @strSearch nvarchar(10) = 'xrchar (20) ';
declare @definition nvarchar(100) = 'xrchar (200000000) ';
print charindex(@strSearch, @definition);
Результаты ниже: (0 «не найдено» и 1 «найдено»):
Microsoft SQL Server 2008 (SP3) — 10.0.5538.0 (X64) 3 апреля 2015 г. 14:50:02 Copyright (c) 1988–2008 Microsoft Corporation Enterprise Edition (64-разрядная версия) в Windows NT 6.1 (сборка 7601: пакет обновления 1) (ВМ)
0 1