【发布时间】:2021-10-06 14:04:19
【问题描述】:
在 csv 文件中提供了学生表的数据。 DDL 创建表:
Create Table students
(
Student_Name nvarchar(50),
S1 int,
S2 int,
S3 int
);
文件中的样本数据:
Student_Name,S1,S2,S3
John Doe,92,90,98
John,88,78,54
为了加载这个,我为整个文件构建了一个 insert into values 代码块,看起来像这样:
insert into Students values
('John Doe',92,90,98),
('John',88,78,549)
我尝试的另一种方法是 SQL 服务器导入任务,所有数据都以字符串格式结尾。必须再次将数据转换/转换为 int 格式的 S1,S2 and S3 列。
除了这些之外,还有其他方法可以以最简单的方式加载数据吗?
【问题讨论】:
-
列转换请阅读:docs.microsoft.com/en-us/sql/integration-services/…。在向导的最后有一个保存它的选项,这样可以很容易地重复使用。
-
在导入任务中你可以指定数据类型,看看这个链接到底是什么-sqlshack.com/…
-
您可以 create a format file 描述您的 .csv 数据,然后在 SQL 服务器中使用 BULK INSERT,或者使用 bcp.exe utility 从外部推送它。
标签: sql-server sql-server-2019