Excel 工作表中包含逗号的单个数据点在 SQL Server 中转换为 NULL

问题描述 投票:0回答:1

我正在尝试将下表从 Excel 工作表上传到 SQL Server(请记住这是 Excel 工作簿而不是 csv 文件)。当我上传以下数据时,SQL Server 无法将第 2 行和第 4 行显示为 varchar。数据被转换为 NULL。

颜色 F2
红色 1,4,6
蓝色
绿色 3,5
橙色

我希望 SQL 完全按原样显示表格,但我得到以下输出:

颜色 F2
红色 1
蓝色
绿色 3
橙色

如何正确转换数据?我已经尝试将数据类型显式更改为 varchar(255)、varchar(max)、float 和 bigint,但值仍然会转换为 NULL。

我还尝试将逗号转换为另一种类型的分隔符(例如连字符和斜杠),但仍然存在同样的问题。

sql-server data-conversion
1个回答
0
投票

答案-- Martin Smith 给出的正确答案如下:

您需要将 Excel 中的数据转换为“文本”数据类型。但您必须转换为“文本”,然后粘贴数据,否则该值仍显示为 NULL。最初,我尝试将已粘贴的值转换为“文本”,但仍然为 NULL。

如果在将 Excel 列转换为文本后重新粘贴数据不起作用,请将数据从 Excel 复制到记事本或 Notepad++,然后重新复制数据,然后重新粘贴回 Excel。这将强制数据粘贴为“文本”。将数据重新粘贴为“值”不起作用。

© www.soinside.com 2019 - 2024. All rights reserved.