在包含整數(作爲字符串)和非整數字符串和符號的混合表中,我有一個nvarchar(200)
列。例如。一些樣本數據: -如何在sql中將不同的數據類型轉換爲int
恕我打字在我最初的文章中,我提到的varchar(200),但實際上它是 '爲nvarchar(200)'
02
0
.../
125
00125
/2009
1000
0002589
000.00125
如何訂購此列?
在包含整數(作爲字符串)和非整數字符串和符號的混合表中,我有一個nvarchar(200)
列。例如。一些樣本數據: -如何在sql中將不同的數據類型轉換爲int
恕我打字在我最初的文章中,我提到的varchar(200),但實際上它是 '爲nvarchar(200)'
02
0
.../
125
00125
/2009
1000
0002589
000.00125
如何訂購此列?
許多DBMS具有CAST()
函數,您可以將一個數據類型轉換爲另一個數據類型。
對於MySQL看看this site
您可以使用CAST
到varchar
到INT
因爲VARCHAR持有適當的數字轉換。
SELECT CAST(varCharCol as Int)
例如
col1 as Varchar(10)
col1 = '100'
轉換爲INT將successufl
但如果col1 = '100 xyz'
將在過程不成功的。
看着你的字符串,你可能不得不使用LTRIM
,REPLACE
號碼來獲得數字或使用正則表達式來獲得用逗號分隔的數字。這也不是很清楚你的原始字符串是什麼樣的。
您可以使用CAST並轉換將字符串類型值轉換爲int類型。但請確保數值應該是數字。
select convert(int,'123')
select CAST('123' as int)
我不認爲它是否會起作用,因爲在問題中指出,字段列包含混合** '整數和非整數** ** – Luv
@Madhu:OP明確提到'它包含整數(作爲字符串)和非整數字符串和符號' –
您可以通過平均使用此查詢
SELECT CASE
WHEN ISNUMERIC(colName)=1 THEN ROUND(colName, 0) ELSE 0 END AS [colName]
FROM tblName
只是想着這樣的方法。 :) – Ric
爲了? – TNK
按專欄名稱排列 – narendra
您可以在訂購後顯示正確的樣品和預期產量..? – bonCodigo