我想在表中查找字符串字段无法转换为数字的所有实例。 有没有办法像t-sql中的“try”那样做,以便我可以获得所有转换失败的id并删除值?
答案 0 :(得分:4)
select *
from yourTable
Where ISNUMERIC(yourField) = 0
答案 1 :(得分:1)
我不是t-SQL用户,所以请将此作为免责声明。对不起,如果它不是你的问题的完美答案,但我使用MySQL可以使用正则表达式。现在取决于你真正想要做的事情..这可能不是你的最终解决方案,但这里是我可以运行的查询的快速示例:
SELECT * FROM table WHERE columnName REGEXP '^[0-9]+$'
但是再次不确定t-sql是否可以通过此链接执行此操作:http://www.sqlteam.com/article/regular-expressions-in-t-sql它似乎确实如此。希望这至少是您解决方案的开始。
同样,不完全确定你的最终用途是什么......但如果我只想要数字,我会在将数据加载到数据库之前使用某种清理,而不是事后清理...我总是觉得这是更容易的路线。 (您可能已经开始使用预先存在的数据)
希望这有帮助!