簡體   English   中英

在SQL Server 2005中使用SQL讀取文本文件

[英]Reading a text file using SQL in SQL server 2005

我需要在SQL Server 2005中閱讀文本文件的第二行和最后一行。該行的內容將以制表符分隔。 有人可以告訴我實現這一目標的一般方法是什么? 請注意,由於我只有只讀訪問權限,因此無法在數據庫中創建臨時表。

您可以使用OPENROWSET,如果是case,請參考

http://msdn.microsoft.com/en-us/library/ms190312.aspx

SELECT a.* FROM OPENROWSET( BULK 'c:\test\values.txt', 
   FORMATFILE = 'c:\test\values.fmt') AS a;

如果您知道行號(在我的測試txt文件中5行)

DECLARE @str nvarchar(max) = (SELECT line FROM OPENROWSET (BULK 'c:\your_file.txt' , SINGLE_CLOB ) AS xmlData(line))
;WITH cte AS (
         CAST('<r>'+REPLACE(@str, CHAR(13),'</r><r>')+'</r>' AS XML).query('/r[2]').value('.','varchar(max)') col2,
         CAST('<r>'+REPLACE(@str, CHAR(13),'</r><r>')+'</r>' AS XML).query('/r[5]').value('.','varchar(max)') col5                
 )
 SELECT CASE WHEN col2 = '' THEN NULL ELSE col2 END col2,  
        CASE WHEN col5 = '' THEN NULL ELSE col5 END col5
 FROM cte

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM