我的数据格式如下。我必须插入到 sql server 表中。
agency NO
booknbr 06000330
bookdttm 2006-07-19 10:56:00
arrdttm 2006-05-07 05:42:00
aj_id A000009454
casenbr 06006640
off1 619
off2 634
arrplace DENNYS RESTAURANT
howarr O
juvstat
ko
remarks
armed
federal N
agency NO
booknbr 06000331
bookdttm 2006-07-24 12:11:00
arrdttm 2006-07-16 16:11:00
aj_id A000003215
casenbr 06010336
off1 641
off2
arrplace 219 W GLENCOVE AV
howarr V
juvstat
ko
remarks
armed
federal N
agency NO
booknbr 06000332
bookdttm 2006-07-25 15:11:00
arrdttm 2006-06-13 22:47:00
aj_id A000009455
casenbr 06008615
off1 624
off2
arrplace 113 JULIE DR
howarr V
juvstat
ko
remarks
armed
federal N
您可以使用 BULK INSERT 并提供如下所示的 FIELDTERMINATOR 和 ROWTERMINATOR 值,这会将数据插入到正确的列中。唯一的缺点是数据还包括列名。一个简单的光标来清理它,数据看起来很好。
您可能希望插入到临时表中,因为所有数据类型在插入时都是 VARCHAR,然后您可以在清理后插入到具有正确数据类型的最终数据表中。
创建表来存储数据:
批量插入数据:
清理数据(此游标循环遍历每一列并从插入的数据中删除列名):
查询数据:
结果: