技术成就梦想

知道用户需求,做到专注!c#,donet,Frameworks,UML,面向对象,设计模式!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Sqlserver查找非数字数据行

Posted on 2012-12-16 03:36  我不是高手  阅读(7257)  评论(0编辑  收藏  举报

同事做的某系统数据库字段类型设置成了nvarchar,但实际上那个字段存储的数据应该是都是数字(带小数点)格式的数据。抛开SQL查询效率的问题不说,这一列数据用区间筛选时候就非常成问题……

找这些脏数据的时候开始俺比较笨,直接用SELECT [COLUMN]+1 FROM [TABLE]这种方式,让SQL自动提示无法将列中数据转换成数字类型,然后无法正确执行+1的操作,然后根据提示再去找对应数据……

万幸的是进入数据库的错误数据并不多,仅仅3条记录。

紧急修改完成后搜索了一下,果然SqlServer已经有函数可以判断数据是否数字:ISNUMERIC SELECT * FROM TABLE WHERE ISNUMERIC(COLUMN)=0

幸亏脏数据并不多,否则要感慨下:业务不熟练害死人啊