gpt4 book ai didi

sql-server - 将数据类型 DECIMAL 从 CSV 导入到 SQL Server

转载 作者:行者123 更新时间:2023-12-05 08:10:13 27 4
gpt4 key购买 nike

将 file.csv 导入到 sql server 2008 时出现问题。

在我的 file.csv 中,小数点是这样写的:(例如 1234,34112)而且似乎 SQL 服务器不理解“,”作为小数点。

我的解决方案是使用 BULK INSERT 作为 VARCHAR 导入它,然后将其转换为十进制。它有效,但我想这可能是我无法获得的更好的解决方案。

你能帮我吗?

提前致谢

最佳答案

只有两种方法可以做到这一点,一种是您已经提到的在 Sql server 中导入,然后执行类似这样的操作..

CREATE Table ImportTable (Value NVARCHAR(1000))   --<-- Import the data as it is
INSERT INTO @TABLE VALUES
('1234,34112'),('12651635,68466'),('1234574,5874')

/* Alter table add column of NUMERIC type.
And update that column something like this...
*/

UPDATE ImportTable
SET NewColumn = CAST(REPLACE(Value , ',', '.') AS NUMERIC(28,8))

或者您可以在导入之前更改您的 Excel 工作表。

除非您使用 SSIS 导入数据,否则最好使用丢失的数据类型在 Sql Server 1st 中获取数据,然后在需要时进行任何数据操作。

关于sql-server - 将数据类型 DECIMAL 从 CSV 导入到 SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21245376/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com