读取EXCEL表数据为NULL?
EXCEL里面的数据是文本类型的,在用SQL读取的时候查询分析器里有部分数据为空,不知道是何原因:
39401 164 39401.0 164.0 269.0 81.0 269.0 Dress - knitted 1.0 Lipstick
39401 164 39401.0 164.0 269.0 81.0 269.0 Dress - knitted 1.0 Purple
NULL NULL NULL NULL 99.0 81.0 198.0 Accessories - others 2.0 Dark Red
NULL NULL NULL NULL 0.0 81.0 0.0 Accessories - others 2.0 Indigo
这是读取的那个SQL语句
SELECT cast(B.编号 as nvarchar),*
FROM OPENROWSET( 'MICROSOFT.JET.OLEDB.4.0 '
, 'Excel 5.0;HDR=YES;IMEX=1;DATABASE=C:\test1.xls ',sheet1$) AS B
------解决方案--------------------是数据类型不一致造成的。
办法1,在Excel里面所有数字前加 '
------解决方案--------------------常见现象,仅把EXCEL里面的单元格设置为文本类型的恐怕还不够,最好是所有单元格内容前面都加上单引号