TSQL 使用SQL指令計算檔案的行數

  • 190
  • 0

使用SQL命令計算文字檔內容的行數。

如果要使用MS SQL 計算文字檔內容行數,可以使用OPENROWSET方式來達成。

Select Count(*) as LineCount from OPENROWSET (BULK 'D:\Test\TextFile.txt', FORMATFILE='D:\Test\TestFormatFile.XML') TEST

其中TextFile.txt部份換上要讀取的文字檔,TestFormatFile.XML 換上撰寫好的格式檔,此處可以定義一列只有一筆資料。
範例如下(假設每行500字元,以換行符\r\n為資料筆數區隔):

<?xml version="1.0"?> 
<BCPFORMAT 
       xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
  <RECORD>
  <FIELD ID="1"  xsi:type="CharFixed" LENGTH="500"/> 
  <FIELD ID="2" xsi:type="CharTerm" TERMINATOR="\r\n" />  
  </RECORD> 
  <ROW>
    <COLUMN SOURCE="1"  NAME="TRMLine"   xsi:type="SQLNCHAR" />
  </ROW>
</BCPFORMAT>