2017-10-04 8 views
-1

私はSQLに2つのテーブルがあり、私は第3のテーブルに対して参照番号を探しています。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, 

私は2つのテーブルが出番表示するには、この(表1)を挿入した:私は何を取得しようとしてることは言う構文です。事前に

おかげ

+2

適切なテーブルスキーマを配置できますか?これは、スキーマが存在しない場合にアルゴリズムに似ています。 – Amit

+0

テーブル定義はあなたの質問に答えるのに役立ちます。 – thundercougarfalcon

+0

Googleだけであれば、たくさんの参考文献があります。 – Eric

答えて

0

SQL ServerがISNUMERIC機能を持っています。

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

ありがとう、この関数の問題は、3番目の文字は常に0になることはありませんが異なります。だから私はそれが数値ではないと言う方法を試している理由は... – Carlos80

+0

ISNUMERIC(LEFT(value、3))は、文字列の最初の(一番左の)3文字が解析できない場合は0を返します数値データ型(int、float、decimalなど)に変換します。 – zambonee

関連する問題