2017-10-04 30 views
-1

我在SQL中有两个表,我正在查找第三个表的参考号。什么我试图去是一个语法,上面写着:SQL - 当值不是数字时

CASE 
    WHEN NUM (TABLE 1) = NAME THEN LEFT(NUM (TABLE 1),14) 
    WHEN NAME = ''UK'' THEN LEFT(NUM (TABLE 1),11) 
    **** WHEN LEFT(NUM (TABLE 1), 3) IS NOT NUMERIC THEN LOOK FOR NUM IN TABLE 2*** 
    ELSE ACCGRPNUM 
END AS ID, 

我已经插入到这个(表1)显示,其中两个表开始发挥作用。

在此先感谢

+2

你可以把正确的表架构。当模式不存在时,这看起来更像算法。 – Amit

+0

表格定义将有助于回答您的问题。 – thundercougarfalcon

+0

如果你只是谷歌它有吨吨的参考。 – Eric

回答

0

SQL Server具有ISNUMERIC函数。它应该看起来像这样

WHEN ISNUMERIC(LEFT(num, 3)) = 0 THEN ... 
+0

谢谢,这个函数的问题是第三个字符不会总是0,它会有所不同。这就是为什么我试图找出如果它不是数字然后如何说... – Carlos80

+0

如果字符串的第一个(最左边的)3个字符不能被解析,ISNUMERIC(LEFT(value,3))返回0转换为数字数据类型(int,float,decimal等)。 – zambonee

相关问题