SQL преобразование типов данных приведение и преобразование - PullRequest
0 голосов
/ 05 сентября 2018

В моей таблице два столбца: AmountIncl_LC, AmountExcl_LC, которые nvarchar тип данных.

Теперь мы хотим изменить тип данных этих двух столбцов и объединить два столбца в один столбец.

select cast(AmountIncl_LC as int)int [AmountIncl_LC] 
from dbo.table2 

Я использовал приведенный выше запрос, и он выдает ошибку «1009 *»

Сообщение 102, Уровень 15, Состояние 1, Строка 1
Неверный синтаксис рядом с 'AmountIncl_LC'.

Ответы [ 3 ]

0 голосов
/ 05 сентября 2018

попробуйте

select cast(AmountIncl_LC as int)+cast(AmountExcl_LC as int) from dbo.table2

0 голосов
/ 05 сентября 2018

Вопрос не содержит всех деталей. Кажется, в БД хранятся целые числа в десятичном формате, хранящиеся как Nvarchar, что, во-первых, не очень удачный подход. Вы должны попробовать бросить:

select try_cast(AmountIncl_LC as decimal)+try_cast(AmountExcl_LC as decimal) from dbo.table2 
0 голосов
/ 05 сентября 2018

Попробуйте это:

select cast(AmountIncl_LC as numeric(16,8))+cast(AmountExcl_LC as numeric(16,8)) from dbo.table2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...