在包含整數(作爲字符串)和非整數字符串混合的表中,我有一個varchar(100)列。例如。SQL Server 2005將VARCHAR轉換爲INT,但默認爲無效類型
| dimension varchar(100) |
| '5' |
| '17' |
| '3' |
| 'Pyramids' |
| 'Western Bypass' |
| '15' |
我該如何寫一個表達式,例如總結有效整數的所有值?如果我想嘗試:
-- should return 5 + 17 + 3 + 15 = 40
SELECT
SUM(CONVERT(INT, dimension))
FROM
mytable
我會收到Conversion failed when converting the varchar value 'Pyramids' to data type int.
錯誤。
是否有我可以在我的表情中使用的測試,很像ISNULL()
函數,允許我指定默認值,如果該字段不是數字?
完美!謝謝! 'ISNUMERIC(' - 1.44')'和'ISNUMERIC('12')'返回1,而'ISNUMERIC('foobar')'返回0.正是我所需要的。 – 2010-03-10 18:31:22