我已经将CSV数据存储在SQL的字符串变量中
@csvContent =
'date;id;name;position;street;city
19.03.2019 10:06:00;1;Max;President;Langestr. 35;Berlin
19.04.2019 12:36:00;2;Bernd;Vice President;Haupstr. 40;Münster
21.06.2019 14:30:00;3;Franziska;financial;Hofstr. 19;Frankfurt'
我想要做的是将其转换为#table,这样看起来就像
SELECT * FROM #table
date id name position street city
---------------------------------------------------------------------
19.03.2019 10:06:00 1 Max President Langestr. 35 Berlin
19.04.2019 12:36:00 2 Bernd Vice President Haupstr. 40 Münster
21.06.2019 14:30:00 3 Franzi financial Hofstr. 19 Frankfurt
标题不是固定的,因此CSV可能具有更多或更少具有不同标题名称的列。
我已经用split_string()
和pivot
进行了尝试,但没有找到解决方案。
答案 0 :(得分:0)
如果您使用的是SQL Server,这可能是您的请求的一种解决方案:
答案 1 :(得分:0)
希望对您有帮助
CREATE TABLE #temp(
date date,
id int ,
name varchar(100),
. ....... //create column that you needed
)
DECLARE @sql NVARCHAR(4000) = 'BULK INSERT #temp
FROM ''' + @CSVFILE+ ''' WITH
(
FIELDTERMINATOR ='';'',
ROWTERMINATOR =''\n'',
FIRSTROW = 2
)';
EXEC(@sql);
SELECT *FROM #temp
DROP TABLE #temp