读取EXCEL表数据为NULL?
EXCEL里面的数据是文本类型的,在用SQL读取的时候查询分析器里有部分数据为空,不知道是何原因:
3940116439401.0164.0269.081.0269.0Dress - knitted1.0Lipstick
3940116439401.0164.0269.081.0269.0Dress - knitted1.0Purple
NULLNULLNULLNULL99.081.0198.0Accessories - others2.0Dark Red
NULLNULLNULLNULL0.081.00.0Accessories - others2.0Indigo
这是读取的那个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里面的单元格设置为文本类型的恐怕还不够,最好是所有单元格内容前面都加上单引号