Я застрял при преобразовании varchar
столбца UserID
в INT
. Я знаю, пожалуйста, не спрашивайте, почему этот UserID
столбец не был создан как INT первоначально, длинная история.
Я попробовал это, но это не сработало. и дай мне ошибку:
select CAST(userID AS int) from audit
Ошибка:
Ошибка преобразования при преобразовании значения varchar '1581............................................................................................................................ 'к типу данных int.
Я select len(userID) from audit
и он возвращает 128 символов, которые не являются пробелами.
Я попытался определить символы ASCII для тех, кто тянется после идентификатора и значения ASCII = 0.
Я также попытался LTRIM
, RTRIM
и заменить char(0)
на ''
, но не работает.
Единственный способ это работает, когда я говорю фиксированное количество символов, как это ниже, но UserID
не всегда 4 символа.
select CAST(LEFT(userID, 4) AS int) from audit