В чем разница при разборе Tab и пробелов в SQL Server 2008 R2 - PullRequest
0 голосов
/ 04 декабря 2018

Я столкнулся со сценарием ниже

Declare @var int = '       123'  
select @var

Declare @var1 int = '      123'  
select @var1  

для первого случая, когда я использовал пробелы перед значением, и при выполнении он возвращает значение как 123

Во втором случае у меня естьиспользуется табуляция вместо пробела перед значением и во время выполнения выдает ошибку преобразования

Может кто-нибудь сообщить, в чем разница между этими двумя сценариями ..

1 Ответ

0 голосов
/ 04 декабря 2018

Даже если вы поставили одинаковое количество пробелов (используя пробелы и затем табуляцию), коды символов для них обоих различаются, и именно поэтому пробел и TAB обрабатываются как отдельные компоненты в SQL Server.

Более подробную информацию о кодах символов и их кодировке можно найти по ссылкам ниже: -

https://www.computerhope.com/jargon/c/charcode.htm https://www.pcmag.com/encyclopedia/term/51983/standards-character-codes

Также, если вы думаете математически илогически: - пробелы перед целыми числами не имеют смысла.Это как нули перед числами.Например: - «123» (5 пробелов, а затем 123) похоже на 00000123. Еще одна причина, по которой пробелы обрезаются перед целыми числами

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...