почему значение переменной изменилось на * - PullRequest
1 голос
/ 01 ноября 2019

У меня ниже 3 сценариев и я получаю результаты. 2 из них - это то, что я ожидал, но для 3-го я не мог понять. Есть ли идеи об этом?

declare @a char(3)
set @a='1003'
select @a----get 100
GO

declare @a char(3)
set @a=100
select @a----also get 100
GO


declare @a char(3)---or varchar(3)
set @a=1003
select @a----get * as result

1 Ответ

0 голосов
/ 01 ноября 2019

Ваша проблема в размере char.

В вашем запросе:

declare @a char(3)---or varchar(3)
set @a=1003
select @a----get * as result

Вы использовали char(3), что слишком мало для данных, которые вы выделяетепеременная.

Скорее измените ее на:

declare @a char(4)
set @a=1003
select @a

Как видно здесь.

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