gpt4 book ai didi

sql-server-2008 - 从逗号分隔的字符串批量插入

转载 作者:行者123 更新时间:2023-12-04 06:53:11 24 4
gpt4 key购买 nike

我有一个表格,其中一列包含以下数据:

abc,2,2,34,5,3,2,34,32,2,3,2,2
def,2,2,34,5,3,2,34,32,2,3,2,2

我想将这些数据插入到另一个表中,使用逗号作为分隔符,就像如何指定 FIELDTERMINATOR 一样在 BULK INSERT声明。

有没有办法使用 T-SQL 做到这一点?

最佳答案

我不确定在 T-SQL 中是否有任何直接的方法,但如果你想使用批量插入,你可以使用 sqlcmd导出到 CSV 文件,然后使用批量插入将文件导入回服务器。

创建一个 dbo.Split Functionm,可以引用这里split string into multiple record
有很多很好的例子。

如果你想作为批处理执行,你可以执行 sqlcmd和“批量插入”

sqlcmd -S MyServer -d myDB -E -Q "select dbo.Split(col1) from SomeTable" 
-o "MyData.csv" -h-1 -s"," -w 700

-s"," sets the column seperator to

bulk insert destTable
from "MyData.csv"
with
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)

否则,您可以直接在 T-SQL 中进行操作,但前提是您具有相同的列定义标识。
 INSERT INTO DestinationTable
SELECT dbo.Split(col1) FROM SomeTable

关于sql-server-2008 - 从逗号分隔的字符串批量插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10541290/

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