SQL Server 2005 のテキスト ファイルの 2 行目と最後の行を読み取る必要があります。行の内容はタブで区切られます。これを達成するために使用される一般的な方法は何ですか?データベースへのアクセスは読み取り専用であるため、データベースに一時テーブルを作成できないことに注意してください。
質問する
1878 次
2 に答える
1
OPENROWSET を使用できます。その場合は、pls を参照してください
SELECT a.* FROM OPENROWSET( BULK 'c:\test\values.txt',
FORMATFILE = 'c:\test\values.fmt') AS a;
于 2012-11-10T00:20:55.517 に答える
0
行番号がわかっている場合(私のテスト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
于 2012-11-10T00:47:03.927 に答える