Используя приведение в операторе вставки - PullRequest
5 голосов
/ 15 февраля 2011

Я вставляю некоторые необработанные данные в таблицу в MS SQL 2005 из Excel. Некоторые из этих данных не отформатированы правильно, то есть количество столбцов равно formatteT как число 12345, тогда как мне нужно быть похожим на 123.45, поэтому я использую это CAST(TRANSACTION_HISTORY.AMOUNT AS decimal) / 100 преобразовать это правильно. Однако есть ли способ использовать приведение в операторе вставки ??

спасибо

Ответы [ 2 ]

5 голосов
/ 15 февраля 2011

Вы можете использовать CAST в любом виде выписки (вставить, обновить, удалить, выбрать), где вы используете данные.

Insert into table1 values( CAST(col1 as nvarchar(50)) )
1 голос
/ 15 февраля 2011

Я предполагаю, что вы используете связанный сервер или openquery для получения данных из Excel.Вы можете привести оператор SELECT.

Итак

INSERT INTO YourTable
SELECT Cast(Transaction_History.Amount AS Decimal)/100
FROM EXCELLINK...[$Sheet1]

Вы также можете просто обновить все значения в таблице после выполнения импорта

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