2013-03-12 2 views

ответ

1

Вы можете использовать неявное преобразование, а также - меньше печатать :-)

SELECT '0000000000245' + 0 

Это становится более сложным, однако, если это NVARCHAR не всегда содержат номера (в этом случае @ Тим ответ выше также имел бы проблемы.). Итак ... почему это nvarchar? Можете ли вы изменить таблицу, чтобы вместо этого сделать ее целым столбцом?

+0

Я попытаюсь преобразовать тип данных в int. Он был импортирован как файл с фиксированной шириной с заполненным нулем. –

7

CAST Используйте для int

SELECT CAST('0000000000245' AS int), 
     CAST('0000000001270' AS int) 

Demo

Но почему вы не использовали int в первую очередь? Отображение ведущих нулей - это работа для интерфейса.

+0

В столбце содержится 350 записей с различными номерами ведущих нулей. Если я использую CAST, мне придется писать его для каждой записи. –

+1

Число записей не имеет значения, просто используйте 'SELECT CAST (columnName AS int) AS columnName ...'. –

+0

Еще раз спасибо. CAST работал, но преобразует тип данных из nvarchar в int. Ps. Любите демо-вариант. Это было круто. –

Смежные вопросы