2017-10-04 2 views
-1

Ich habe zwei Tabellen in SQL und ich suche eine Referenznummer gegen eine dritte Tabelle. Was ich versuche zu bekommen, ist eine Syntax, die sagt:SQL - Wenn der Wert nicht numerisch ist

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, 

ich diese eingefügt haben (Tabelle 1) zu zeigen, wo die beiden Tabellen ins Spiel kommen.

Vielen Dank im Voraus

+2

Können Sie richtige Tabellenschema setzen. Dies sieht eher wie ein Algorithmus aus, wenn das Schema nicht vorhanden ist. – Amit

+0

Die Tabellendefinition würde helfen, Ihre Frage zu beantworten. – thundercougarfalcon

+0

Es gibt Tonnen von Referenz, wenn Sie nur Google es. – Eric

Antwort

0

SQL Server verfügt über eine ISNUMERIC Funktion. Es sollte in etwa so aussehen

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

Danke, das Problem mit dieser Funktion ist, dass das dritte Zeichen nicht immer 0 sein wird. Aus diesem Grund versuche ich herauszufinden, ob es nicht numerisch ist ... – Carlos80

+0

ISNUMERIC (LEFT (value, 3)) gibt 0 zurück, wenn die ersten (am weitesten links liegenden) 3 Zeichen der Zeichenfolge nicht analysiert werden können in einen numerischen Datentyp (int, float, decimal usw.). – zambonee

Verwandte Themen