SQL server 的類型轉換

來源:互聯網
上載者:User

最近寫了點指令碼,對涉及的一點類型轉換做個總結。由於資料是從CSV檔案中讀取的,也就是用逗號(,)分割的檔案類型,可以用EXcel開啟,也可用文字文件開啟,都沒有什麼關心,

  • 檔案的讀取。

     *.CSV檔案都是有*.INI檔案的對應的內容的。

     [<filename>.CSV]
     ColNameHeader = False  //是否讀取列名
     Format = CSVDelimited
     CharacterSet = ANSI
     Col1=reference TEXT width 200
     Col2=***** TEXT width 200

     由於開始不知道具體檔案類型大小,都列成了nvchar的,所以對所要匯入的資料庫中的float,datetime還有50個大小的都要處理。

     

Code
/*
*{0} folder path
*{1}file name
*/
insert into table
SELECT * FROM
  OPENROWSET('MSDASQL',
  'Driver={Microsoft Text Driver (*.txt; *.csv)};
    DEFAULTDIR={0};Extensions=CSV;',
  'SELECT * FROM "{1}.CSV"')

 

  • nvchar200到50 的讀取,去掉第一個空格,然後讀取前面的50
Code
LEFT(LTRIM(T.Reference),50) AS reference,
  • 對ddmmyy的nvchar轉換成datetime
    T.date就是nvchar200的ddmmyy類型。

 

Code
 Case when T.Date is not null 
 Then cast(substring(T.Date,5,4)+substring(T.Date,3,2)+substring(T.Date,1,2) as DateTime)
 Else null
 END
  • 對float的轉換

 

Code
    CAST(S.price AS float),

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.