Umwandeln von Zeichenfolgen in Ganzzahlen und Behandeln von Konvertierungsfehlern
In T-SQL können wir auf Szenarien stoßen, in denen wir einen Nvarchar-Datentyp konvertieren müssen in eine Ganzzahl konvertieren, aber Fälle behandeln, in denen die Konvertierung fehlschlägt. Eine Methode, dies zu erreichen, ist die Kombination der CAST-Funktion und der ISNUMERIC()-Funktion.
Konvertierung mit einem Standardwert
Um einen Nvarchar-String in einen umzuwandeln Wenn die Konvertierung fehlschlägt, wenn die Konvertierung fehlschlägt, können wir die CASE-Anweisung wie folgt verwenden:
SELECT CASE WHEN ISNUMERIC(@text) = 1 THEN CAST(@text AS INT) ELSE <default value> END
Hierbei Ausdruck:
Beispiel
Betrachten Sie das folgende Beispiel:
DECLARE @text AS NVARCHAR(10) SET @text = '100' SELECT CASE WHEN ISNUMERIC(@text) = 1 THEN CAST(@text AS INT) ELSE NULL END -- returns 100 SET @text = 'XXX' SELECT CASE WHEN ISNUMERIC(@text) = 1 THEN CAST(@text AS INT) ELSE NULL END -- returns NULL
Im ersten Fall ist die Konvertierung erfolgreich und 100 wird zurückgegeben. Im zweiten Fall kann die Zeichenfolge „XXX“ nicht konvertiert werden und NULL wird als Standardwert zurückgegeben.
Einschränkungen bei der Handhabung von ISNUMERIC()
Das ist erwähnenswert ISNUMERIC() gibt möglicherweise für einige Zeichenfolgen „true“ zurück, die keine gültigen Ganzzahlen sind, beispielsweise solche, die Währungssymbole, Dezimalpunkte oder /-Zeichen enthalten. Daher ist es ratsam, die Saite vor dem Gießen gründlicher zu validieren.
Das obige ist der detaillierte Inhalt vonWie kann man NVARCHAR-Zeichenfolgen in T-SQL sicher in Ganzzahlen umwandeln und Konvertierungsfehler behandeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!