SQL Server 从Excel导入到数据库操作遇到的科学计数法问题
问题描述
今天在做从Excel导入数据到SQL Server 中将数据更新到表中,可惜就这一个简单的操作中出现了一点小插曲,就在我根据Excel中的编号关联表编号以此更新姓名字段时出现转换错误问题。如下图1所示:

图:1
在SQL Server中,数据类型隐式转换为从低级别到高级别转换,FLOAT类型级别高于NVARCHAR,以至于出现图1错误,关于SQL Serevr 详细数据类型优先级别如下:
从高到底
1.user-defined data types (highest)--用户自定义类型
2.sql_variant
3.xml
4.datetimeoffset
5.datetime2
6.datetime
7.smalldatetime
8.date
9.time
10.float
11.real
12.decimal
13.money
14.smallmoney
15.bigint
16.int
17.smallint
18.tinyint
19.bit
20.ntext
21.text
22.image
23.timestamp
24.uniqueidentifier
25.nvarchar (including nvarchar(max) )
26.nchar
27.varchar (including varchar(max) )
28.char
29.varbinary (including varbinary(max) )
30.binary (lowest)
看到这个问题相信大家都觉得很简单,直接将字段转换成字符串类型不就可以了吗? 好吧,直接CONVERT转成NVARCHAR类型随后执行,可以执行成功但是关联出来没有数据,很奇怪!由于编号在Excel中的类型为FLOAT,经过转换后数据变成科学计数法数据,模拟一下数据,如下图2所示:

图:2
知道问题缘由后便可以明准的解决问题,可以有一下几种方法:
1. 在Excel中直接将编号列设置成文本格式,随后到入到SQL Server做操作。
2.将FLOAT转换成字符串类型,可先将FLOAT转成整形或是DECIMAL类型,然后再转成字符串即可。
3.将关联另一个表字段转为FLOAT类型。
关于解决问题第三点,我将另一个表中的字段转为FLOAT类型出现的如图1错误(从数据类型 nvarchar 转换为 float 时出错。) ,经过查看字段的数据全是由数字组成,为何还报转换错误? 由于空格并不会引起该错误,然后我将目标转到换行,回车符上面,果然有的数据最后存在换行符。随后将换行符(char(10))替换成空即可。
顺便附带一下从Excel导入数据到SQL Server的脚本:
--OPENROWSET SELECT *
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;HDR=Yes;IMEX=1;Database=C:/Users/Administrator/Desktop/20191008.xlsx',
'select * from [Sheet3$]'); --OpenDataSource
SELECT *
FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0',
'Data Source=C:/Users/Administrator/Desktop/20191008.xlsx;Extended Properties="Excel 12.0;HDR=Yes;IMEX=1"')...[Sheet3$];
以上为在工作中遇到的一点小问题,记录下来以便后续用,也可以为其他遇到这个小坑的朋友提供一点解决的办法。
SQL Server 从Excel导入到数据库操作遇到的科学计数法问题的更多相关文章
- poi excel导入纯数字单元格显示科学计数法的处理
POI读取Excel文件时,对纯数字单元格的处理 用POI读取Excel文件的时候,可能会遇到这样的问题:Excel文件中某一单元格中的数据为数字,例如12345678910123. 正常读取的话 ...
- 关于解决读取导入excel某列数字过长的科学计数法格式
因为 客户 需要导入 虚拟商品的卡号 excel已经是文本形式的单元格格式了 但是 到后台 java代码去获取的时候 仍然是 科学计数法格式 先找到以下资料做参考:http://love-66521. ...
- EXCEL里面的数字显示为文本 不用科学计数法显示
1. 在输入这一串数字前加撇号“'”(英文状态下的单引号)即可.2. 先将这一列设置为“文本”格式,然后直接输入这一串数字即可. 已经输入好了数字,那估计你这些数字的后三位都已经全变成“0”了,用 ...
- PHPEXCEL导出excel表格中长数字文本自动转为科学计数法的解决办法
方法一:前面加空格 $objActSheet->setCellValue('A1', ' '.'330602198804224688'); 方法二: $objActSheet->setCe ...
- Java jxl导入excel文件,导入的数字、身份证号码、手机号变成了科学计数法,解决方案
原文出自:https://blog.csdn.net/seesun2012 这是一个execl文件导入数据库操作,使用jxl解析execl导入数据库过程出现了科学计数法,与想要导入的数据不匹配,以下是 ...
- POI导出复杂的excel;excel公共样式类;excel拼接定制类;数据科学计数法转为普通值
一.excel公共样式类(包含数据科学计数法转为普通值) package com.thinkgem.jeesite.common.utils.excel; import org.apache.poi. ...
- Sql server与Excel的数据互通导入导出
现在,我先从Sql server数据表导出到Excel中,再从Excel数据表导出到Sql server中: 一.Sql server数据表导出到Excel中: 1.新建一个Excel,选择“数据”菜 ...
- SQL Server数据的导入导出
SQL Server 2008的导入导出服务可以实现不同类型的数据库系统的数据转换.为了让用户可以更直观的使用导入导出服务,微软提供了导入导出向导.导入和导出向导提供了一种从源向目标复制数据的最简便的 ...
- sql server单表导入、导出
sql server单表导入.导出(通过CSV文件) 导出:直接打开查询分析器查询要导出表的信息(select * from 表),得到的结果全选,右键另存为 xxx.csv文件 (得到该表的所有 ...
随机推荐
- HttpClient学习研究---第二章:连接管理
第二章.Connection management连接管理2.1. 2.1.Connection persistence连接持久性The process of establishing a conne ...
- OpenCV 学习笔记(10)HSV颜色空间及颜色空间转换(RGB-HSV)
1.1 颜色空间介绍 RGB 颜色空间是大家最熟悉的颜色空间,即三基色空间,任何一种颜色都可以由该三种 颜色混合而成.然而一般对颜色空间的图像进行有效处理都是在 HSV 空间进行的,HSV(色 调 H ...
- [Javascript] Private Variables with IIFEs
An IIFE (immediately invoked function expression) is when a function is called immediately after it ...
- EFK收集nginx日志
准备三台centos7的服务器 两核两G的 关闭防火墙和SELinux systemctl stop firewalld setenforce 0 1.每一台都安装jdk rpm -ivh jdk-8 ...
- pycharm中使用2to3
https://www.jianshu.com/p/abbb005ba002 可用
- [RN] React Native 分享弹窗 ShareAlertDialog
React Native 分享弹窗 ShareAlertDialog ShareAlertDialog.js文件 /** * 分享弹窗 */ import React, {Component} fro ...
- MyBatis智能标签!
if 语句 <select id="getOne" resultType="com.mybatis.entity.SmbmsProviderEntity" ...
- nginx php-fpm 配置问题(2)
问题: Nginx/FPM/PHP all php files say 'File not found.' 解决: 可能情况 1: 在 nginx php-fpm 配置问题(1)文中,我们分析了一种可 ...
- Java 整数间的除法运算如何保留所有小数位?
1.情景展示 double d = 1/10; System.out.println(d); 返回的结果居然是0.0!这是怎么回事儿? 2.原因分析 第一步:你会发现用运算结果也可以用int类型接 ...
- [Beta]Scrum Meeting#7
github 本次会议项目由PM召开,时间为5月12日晚上10点45分 时长15分钟 任务表格 人员 昨日工作 下一步工作 木鬼 撰写博客整理文档 撰写博客整理文档 swoip 为适应新功能调整布局 ...