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.
Um sicher zu sein, vergessen Sie ISNUMERIC
Wenn Sie keine negativen Zahlen erwarten, können Sie dies verwenden
%Vor% ISNumeric(Id)=0
sollte ISNumeric(Id)=1
Allerdings hat ISNUMERIC ein Problem
führe dies aus
%Vor%Diese geben alle 1
zurückSehen Sie sich IsNumeric, IsInt, IsNumber für einige Möglichkeiten an finde heraus, ob es in eine ganze Zahl umgewandelt werden kann
Tags und Links sql sql-server