繁体   English   中英

将具有一列的TEXT文件中的数据导入到SQL Server 2008中的表(许多列)中

[英]Import data from TEXT file with one column into Table (many column) in SQL Server 2008

每15秒从测量仪器获取一次以这种形式组织的数据

14.08.2014 15:00:00
UP:69.8,DN:70.7,Q=87
FLOW: 229.214  l/s
VEL: 1.18915 m/s

14.08.2014 15:00:15
UP:69.9,DN:70.5,Q=81
FLOW: 233.031  l/s
VEL: 1.20896 m/s

14.08.2014 15:00:30
UP:69.9,DN:70.7,Q=84
FLOW: 233.716  l/s
VEL: 1.21251 m/s

我需要将其导入到SQL Server 2008中,其组织形式如下表所示,我觉得很难做到这一点,请给我一个解决问题的思路。

Data                   UP       DN      Q    FLOW        VEL
---------------------------------------------------------------
14.08.2014 15:00:00   69.8     70.7     87   229.214    1.18915
14.08.2014 15:00:15   69.9     70.5     81   233.031    1.20896
14.08.2014 15:00:30   69.9     70.7     84   233.716    1.21251

请查看http://msdn.microsoft.com/zh-cn/library/ms188365.aspx

如果将数据写入名为data.txt的文件中,则可以使用如下所示的内容:

    IF OBJECT_ID('tempdb..#rawdata') IS NOT NULL DROP TABLE #rawdata
    create table #rawdata (
     field1 varchar(255)
    , field2 varchar(255)
    , field3 varchar(255)
    , field4 varchar(255)
    )

    BULK INSERT #rawdata 
    FROM 'C:\data.txt'
    WITH (
        FIELDTERMINATOR = '\n'
      , ROWTERMINATOR = '\n\n'
      , TABLOCK
      )

    SELECT field1 As Data
    , SUBSTRING(field2, 4,4) AS UP
    , SUBSTRING(field2, 12,4) AS DN
    , SUBSTRING(field2, 19,2) AS Q
    , SUBSTRING(field3, 6,8) AS FLOW
    , SUBSTRING(field4, 5,8) AS VEL
    FROM #rawdata

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM