我有一张这样的 table
productId Inventory
--------------------
1 1
2 Ab
3 12.5
4 6
6 2
如何选择库存为int
且其他值为零,其中Inventory
为varchar
?
最佳答案
假设这是 SQL Server,那么您可以执行以下操作:
SELECT productid,
CAST((CASE isnumeric(inventory)
WHEN 0 THEN 0
ELSE CAST(Inventory AS DECIMAL(10, 2))
END) AS INT) AS Inventory
FROM tablename
SQL Fiddle Demo
这会给你:
| PRODUCTID | INVENTORY |
-------------------------
| 1 | 1 |
| 2 | 0 |
| 3 | 12 |
| 4 | 6 |
| 6 | 2 |
关于SQL - 如何将 varchar 转换为带大小写的 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15049242/