在Excel中,我们时常会碰到这样的字段(最常见的就是电话号码),即有纯数字的(如没有带区号的电话号码),又有数字和其它字符混合 (如“区号-电

话号码”)的数据,在导入SQLServer过程中,会发现要么纯数字的数据导过去之后变成了NULL,要么就是数字和其它字符混合的数据导过去之后变成

了NULL。

为什么有些是纯数字的数据导过去之后变成了NULL,有些却是数字和其它字符混合的数据导过去之后变成了NULL,原来是在将Excel数据导入

SQLServer过程中,SQLServer会做出判断,是采用float型还是nvarchar型来接受数据,测试发现(没有科学依据),SQLServer采用哪一型取决于将要导入

的数据中本身具有哪一型的记录数比例多,如10笔数据,有4笔没有带区号的电话号码,6笔是带区号的电话号码,那么转到SQLServer就会选择

nvarchar型,结果就是4笔没有带区号的电话号码导过去之后全成了NULL,反之亦然。不管怎么样,我们最终都希望SQLServer是采用nvarchar来接受

数据,毕意我们要导入的数据中有数字和其它字符混合的数据,用float型来接受是不可能的,这样只要我们解决了将纯数字的数据转换成字符型并让

SQLServer接受就可以了。

我首先想到的就是将这个字段的所有数据在Excel中设置为文本格式,刚才说了本来就是希望导入SQLServer时成为字符型,但结果令人失望,不起

作用。

最终网上搜索到了答案:混合数据类型列的强制解析——IMEX=1

使用 IMEX=1 选参之后,只要取样数据里是混合数据类型的列,一律强制解析为 nvarchar/ntext 文本。当然,IMEX=1 对单一数据类型列的解析是不影

响的。

SELECT * INTO Table08

from OpenDataSource

('Microsoft.Jet.OLEDB.4.0','Data Source="E:\1.xls";Extended properties="Excel 5.0;HDR=Yes;IMEX=1;"')...[Sheet1$]

注:

1.这条语句是在SQLServer查询分析器中执行,并且要选择好数据库,否则会把要导入的数据往别的数据库中导了。

2.Table08是数据导入后在SQLServer中的表名,属于新建,所以请确认在导入数据前数据库中没有该表名,否则会提示已存在同一表名。

3.Data Source,不要连在一起写,中间有一空格。

4.E:\1.xls,为Excel所在的绝对路径和数据库名。

5.Excel 5.0,根据不同的Excel版本

Excel空值导入mysql_Excel数据导入Sql Server出现Null相关推荐

  1. 快速批量导入庞大数据到SQL SERVER数据库(ADO.NET)

    原文地址:http://www.cnblogs.com/chenxizhang/archive/2008/11/11/1331060.html 如果你需要在程序中批量插入成千上万行的数据,你会怎么编写 ...

  2. 使用BULK INSERT高效导入大量数据到SQL Server数据库

    源数据 (文本文件) 下载了大量的股票历史数据, 都是文本格式的: 每个文件第一行包含股票代码, 股票名称, 数据类型. 第二行是数据列的名称: 数据表 在数据库中新建了一个数据表TestStock, ...

  3. 使用SSIS包将多个Excel文件中的数据导入SQL Server表中

    This article explores an SSIS package for importing multiple Excel files data into SQL Server tables ...

  4. 使用T-SQL导入多个文件数据到SQL Server中一文的疑惑

    - 今天,由于毕业论文需要,我想弄数据转换,所以看了一看T-SQL,oracle实在没时间去学,好在SQL我还是很熟悉,所以打算看一看,写一些存储过程来完成任务. 我无意中在csdn上找到这样一篇文章 ...

  5. mysql数据库导入到excel表格数据_[转载]将EXCEL表格中的数据导入mysql数据库表中(两种方法)...

    今天项目上遇到需要将excel中的数据导入到数据库的classify表中,于是乎拼命上网查阅方法,发现以下两种方法比较可行: 在此之前先说说按照网上的说法我没有试验成功的方法,将excel文件xls保 ...

  6. 如何将excel表格内的数据导入至mysql数据库

    如何将excel表格内的数据导入至mysql数据库 当前mysql版本:5.5 创建Excel表格输入数据 注:第一行为数据表的列名(要保持一致) 将表格另存为.cvs格式的文件 再用editPlus ...

  7. 把EXCEL表格导入到MYSQL中_将EXCEL表格中的数据导入mysql数据库表中(两种方法)...

    今天项目上遇到需要将excel中的数据导入到数据库的classify表中,于是乎拼命上网查阅方法,发现以下两种方法比较可行: 在此之前先说说按照网上的说法我没有试验成功的方法,将excel文件xls保 ...

  8. cpp导入excel到mysql_将EXCEL表格中的数据导入mysql数据库表中

    本文转载自http://blog.sina.com.cn/s/blog_5d972ae00100gjij.html 今天项目上遇到需要将excel中的数据导入到数据库的classify表中,于是乎拼命 ...

  9. 【唠叨两句】如何将一张树型结构的Excel表格中的数据导入到多张数据库表中...

    小弟昨天遇到一个相对比较棘手的问题,就像标题说的那样.如何将一张树型结构的Excel表格中的数据导入到多张数据库表中,在现实中实际是七张数据库表,这七张表之间有着有着相对比较复杂的主外键关系,对于我这 ...

  10. 查询oracle数据库的表格数据类型,excel表格中如何查询数据库数据类型-我想把excel表格中的数据导入oracle数据库中,想在......

    在excel表里,什么是:字段.记录.数据类型.多工... declare @t table(id numeric(18,2)) insert into @t SELECT   col1 FROM   ...

最新文章

  1. oracle rac启停数据库,Oracle rac 启动停止操作文档 PDF 下载
  2. Android usb pc通信
  3. python怎么读excel文件-用python读写excel文件
  4. [MAC OS] 常用工具
  5. db2界面调用存储过程_第三章 操作系统用户界面
  6. 如何确认客户使用的Spartacus库文件是未经修改过的原始版本
  7. ICC_lab总结——ICC_lab3:布局
  8. BOOST库介绍(四)——文件系统相关
  9. linux用命令启动达梦数据库,达梦数据库DM7的命令行安装
  10. C# 图片预览打印方法
  11. 获取高德地图位置的经纬度
  12. 设计模式---原型模式
  13. CopyOnWriteArrayList 有什么特点?
  14. 心理学是怎样产生的?
  15. WEB前端学习笔记-HTML
  16. 职称计算机的考题整理分享,是2011年的,支持自学成才的人
  17. Linux/Centos nethogs 按进程监控网络带宽
  18. 兄弟连c语言培训,长安兄弟连.net培训
  19. 独家微信域名封杀检测接口
  20. Python实现决策树算法和朴素贝叶算法,并根据天气数据集预测是否出游

热门文章

  1. 看漫画学Python:有趣、有料、好玩、好用:全彩版PDF
  2. 软件测试面试,面试官最后问:你有什么要问我的吗?应该如何回答
  3. 专票冲红出现服务器为空,增值税专用发票作废、冲红、丢失了?别慌,可这样处理...
  4. 计算机桌面锁定了没设密码怎么解锁,屏幕锁定怎么解锁?
  5. 办公软件 Excel考试面试题库和答案
  6. 苹果apple id无法申请开发者帐号问题
  7. Win32反汇编(七)浮点指令(FLD / FILD / FSTP)与位移指令的逆向分析
  8. matlab中readfid函数,matlab中textscan和textread函数的比较使用
  9. 【CKA考试笔记】十一、job、cornjob
  10. iPhone屏幕适配 新增iPhone XS iPhone XR iPhone XS Max