日期:2014-05-18  浏览次数:20626 次

问个SQL 关于 convert
sql server 2000

有没有像对象语言类似的

try
  {
  convert(int, 'xxx')
  }
except
  {

  }

在 convert(int, 'xxx') 中
数据有可能不是数字的字符串,
所有可能可能会有出错,
当不是数字的字符串,又想做别的,

所以有没有类似高级语言的 try

如若没有,有没有其它 的办法


3q


------解决方案--------------------
用函数ISNUMERIC 判断作相应处理
 ISNUMERIC ( expression )

参数
expression

要计算的表达式。

返回类型
int

注释
当输入表达式得数为一个有效的整数、浮点数、money 或 decimal 类型,那么 ISNUMERIC 返回 1;否则返回 0。返回值为 1 确保可以将 expression 转换为上述数字类型中的一种。


------解决方案--------------------

SQL code
if isnumeric('xxx')=1  
select  convert(int,'xxx')
else
begin
'作别的'
end