sql - 从 Excel 导入数据向导自动检测数据类型

标签 sql sql-server excel sql-import-wizard

您好,我正在尝试从 Excel 文件导入数据 (xls)到新SQL table所以我用Import and Export data 32/bit为了实现这一点。当我加载 Excel 文件时,它会自动检测列的数据类型。例如电话号码列作为新表 float 的数据类型当我尝试更改 float 时,在 Excel 中为 Double(15)至nvarchar

我明白了:

Found 2 unknown column type conversion(s) You have selected to skip 1 potential lost column conversion(s) You have selected to skip 3 safe column conversion(s)

并且我不被允许继续导出。

尝试导入数据时有什么方法可以更改数据类型吗?

感谢您的宝贵时间。

这些数据设置为text Excel中的数据类型 来自 Excel 中某一列的示例数据:

5859031783

5851130582

8811014190

这就是我得到的:

enter image description here

最佳答案

选择 Excel 工作表中的列并将数据类型更改为文本

enter image description here

然后转到你的sql server打开导入导出向导并执行选择源数据和bla bla的所有步骤,当你到达映射列时,它将选择Float默认情况下 数据类型,您必须将其更改为 NVARCHAR(N) 在我的测试中我将其更改为 NVARCHAR(400),它给了我一个警告,可能会丢失一些数据因为我正在将数据从一种数据类型转换为另一种数据类型。

enter image description here

当您进入数据类型映射页面时,请确保选中“转换”复选框。并酌情停止失败的进程。

enter image description here

经过所有这些步骤,终于在目标表中得到了我的数据,并带有相同的警告,在所有微软担心太多之后,我已经转换了一些数据n bla bla :)

enter image description here

最后数据在Sql-Server表中

╔═══════╦════════════╦═════════╦════════════════╦══════════════╗
║ Name  ║    City    ║ Country ║     Phone      ║ Float_Column ║
╠═══════╬════════════╬═════════╬════════════════╬══════════════╣
║ Shaun ║ London     ║ UK      ║ 04454165161665 ║   5859031783 ║
║ Mark  ║ Newyork    ║ USA     ║ 16846814618165 ║   8811014190 ║
║ Mike  ║ Manchester ║ UK      ║ 04468151651651 ║   5851130582 ║
╚═══════╩════════════╩═════════╩════════════════╩══════════════╝

关于sql - 从 Excel 导入数据向导自动检测数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20924554/

相关文章:

sqlite更改列中每个单元格的日期格式

sql - SQL 中日期时间字段的时间部分

sql - 使用列级 WHERE 子句更新多个列中的所有 SQL NULL 值?

Excel公式添加和减去产品成本的百分比

javascript - 在加载的网页上点击 anchor 标记按钮,然后使用 vba 点击“确定”按钮

python - 从 VBA 到 Flask 的 HTTP 请求的编码问题

java - JDBI 一对多连接和映射

mysql - 从 mySql 中的两列创建日期

sql-server - 是否可以使用 T-SQL 从数据库创建部分 dacpac?

sql - 如何仅按月和年分组?