SQL Server 2005: усечение значения - PullRequest
0 голосов
/ 26 апреля 2009

Моя таблица содержит поле пароля, размер которого Varchar (70). Но когда я ввожу хэш-значение пароля размером 40, последние несколько символов усекаются. Я использую SQL SERVER 2005. Почему это так ??

1 Ответ

1 голос
/ 13 октября 2009

Единственный раз, когда я видел это, когда вы приводите к varchar без указания длины

Запустите это:

declare @test varchar(70)

set @test = '1111111111222222222233333333334444444444555555555566666666667777777777'
select @test

select 
    cast(@test as varchar) as CastedWithoutLength,
    cast(@test as varchar(40)) as CastedWith40Length,
    cast(@test as varchar(70)) as CastedWith70Length

Длина CastedWithoutLength будет составлять всего 30 символов, а остальные значения будут такими, какие были заданы для длины.

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