Сегодня утром я столкнулся с чем-то странным и подумал, что отправлю его для комментариев.
Может кто-нибудь объяснить, почему следующий SQL-запрос печатает "равный" при запуске с SQL 2008. Уровень совместимости db равен 100.
if '' = ' '
print 'equal'
else
print 'not equal'
И это возвращает 0:
select (LEN(' '))
Кажется, это автоматическая обрезка пробела. Я не знаю, было ли это в предыдущих версиях SQL Server, и мне больше не нужно проверять его.
Я столкнулся с этим, потому что производственный запрос возвращал неверные результаты. Я не могу найти это поведение в любом месте.
Есть ли у кого-нибудь информация об этом?