如何从外部系统将数据插入MS-SQL时显式转换数据类型?

时间:2013-09-26 05:45:26

标签: sql-server-2008

我尝试将数据插入extrenal系统的列中,但它返回nvarchar格式数据,其中数据实际上是数字格式。

因此数据会丢失,因为它会自动转换为指数格式。 无法从此外部系统转换数据类型。

是否有可能在将数据插入我的MS-SQL数据库时,它应该再次转换为数字格式?

2 个答案:

答案 0 :(得分:0)

外部系统是什么意思?

例如,它是MS Excel电子表格,您仍然可以使用本机t-sql函数来转换列的数据类型。大多数外部数据也应如此。

SELECT Name, Age, convert(decimal(5,2), Amount) FROM OPENQUERY (XLSX_NewSheet, 'Select * from [Sheet1$]')

SELECT Name, Age, convert(decimal(5,2), Amount) FROM XLSX_NewSheet...[Sheet1$]

NameAgeAmount是Excel工作表的列标题名称

答案 1 :(得分:0)

外部系统是 Salesforce 的数据提取工具,称为 Apex 数据加载器。由于 Salesforce 在提取超过 8 位数字字段时的限制,自动转换为指数表示法,并将相同的数据插入到实际上不是正确数据的 MS-SQL Db 中。