我在 excel 表中的一个字段是电话号码,当我使用 openrowset 批量导入并将其插入 varchar(50) 字段时,它会转换为十进制格式。
这就是我正在做的事情:
CREATE TABLE dbo.TmpDataFileCC
(
field_1 VARCHAR(500) NULL
,Field_2 VARCHAR(500) NULL
,Phone1 VARCHAR(500) NULL
)
Insert into TmpDataFileCC(field_1,Field_2,Phone1)
SELECT F1,F2,F3 FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=J:\UploadToSQL\test_file.xls;HDR=NO', 'SELECT * FROM [sheet1$]')
where F3 is not null
电话号码 3234406751(在 excel 文件中)被转换为 3.23441e+009(在 TmpDataFileCC_ftb 中)
我尝试了一些 Cast 和 convert 功能,但似乎没有任何效果。有人可以告诉我我能做些什么来解决它吗?