So wählen Sie nur Datensätze mit der Nummer in der Spalte (SQL)

7

Grundsätzlich möchte ich das tun:

Ich möchte einen Datensatz zurückgeben, der einen nvarchar-Wert (ID) in eine ganze Zahl konvertiert, wenn er eine Zahl enthält. Wenn die ID in eine Zahl konvertiert werden kann, fügen Sie diese Zeile zum Datensatz SELECT hinzu. Wenn nicht, überspringen Sie diese Zeile.

Ich denke, die SQL sollte in etwa so aussehen.

(ID ist nvarchar (10) in dbo.Table)

%Vor%

Aber ich bekomme einen Fehler: nvarchar Wert 'Default' zu Datentyp int. Wenn ich eine SELECT CAST(ID as int) mache, funktioniert das auch nicht.

    
Rob 09.03.2011, 19:30
quelle

3 Antworten

13

Um sicher zu sein, vergessen Sie ISNUMERIC

Wenn Sie keine negativen Zahlen erwarten, können Sie dies verwenden

%Vor%     
RichardTheKiwi 09.03.2011, 19:41
quelle
9

ISNumeric(Id)=0 sollte ISNumeric(Id)=1

sein

Allerdings hat ISNUMERIC ein Problem

führe dies aus

%Vor%

Diese geben alle 1

zurück

Sehen Sie sich IsNumeric, IsInt, IsNumber für einige Möglichkeiten an finde heraus, ob es in eine ganze Zahl umgewandelt werden kann

    
SQLMenace 09.03.2011 19:33
quelle
-1

Vielleicht könnte dieser helfen:

%Vor%     
Dragos 18.05.2016 08:17
quelle

Tags und Links