簡體   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