2013-03-12 50 views

回答

1

您可以使用隱式轉換以及 - 少打字:-)

SELECT '0000000000245' + 0 

這變得更加複雜,但是,如果這種爲nvarchar不總是包含數字(在這種情況下,@蒂姆上面的答案也會有問題)。所以...爲什麼這是一個nvarchar?你可以改變表格使其成爲整數列嗎?

+0

我會嘗試將數據類型轉換爲int。它被導入爲一個固定寬度的文件,左邊填零。 – 2013-03-12 21:58:59

7

使用CASTint

SELECT CAST('0000000000245' AS int), 
     CAST('0000000001270' AS int) 

Demo

但你爲什麼不使用擺在首位int?顯示前導零是前端的工作。

+0

該列包含350個具有各種數字的前導零的記錄。如果我使用CAST,則必須爲每條記錄編寫它。 – 2013-03-12 21:52:33

+1

記錄數不重要,只需使用'SELECT CAST(columnName AS int)AS columnName ...'。 – 2013-03-12 21:53:50

+0

再次感謝您。 CAST工作,但會將數據類型從nvarchar轉換爲int。 PS。愛演示選項。那很酷。 – 2013-03-12 22:00:50