Heim > Datenbank > MySQL-Tutorial > Wie kann man Strings in T-SQL sicher in Ganzzahlen mit Standardwerten umwandeln?

Wie kann man Strings in T-SQL sicher in Ganzzahlen mit Standardwerten umwandeln?

DDD
Freigeben: 2025-01-03 01:05:39
Original
732 Leute haben es durchsucht

How to Safely Cast Strings to Integers with Default Values in T-SQL?

Umwandeln von Zeichenfolgen in Ganzzahlen mit Standardwerten in T-SQL

In T-SQL besteht häufig die Notwendigkeit, eine Zeichenfolge (nvarchar) umzuwandeln )-Wert in einen Integer-Datentyp (int) umwandeln. Diese Konvertierung kann jedoch fehlschlagen, wenn die Zeichenfolge nicht numerische Zeichen enthält. Um solche Szenarien reibungslos zu bewältigen, ist es notwendig, einen Standardwert oder NULL zurückzugeben, wenn die Konvertierung nicht erfolgreich ist.

Um dies zu erreichen, kann der CASE-Ausdruck in Verbindung mit der Funktion ISNUMERIC() verwendet werden. ISNUMERIC() wertet aus, ob eine Zeichenfolge einen gültigen numerischen Wert darstellt, und gibt 1 zurück, wenn wahr, und 0, wenn falsch.

Syntax:

CASE WHEN ISNUMERIC(@variable) = 1 THEN CAST(@variable AS INT) ELSE NULL END
Nach dem Login kopieren

Beispiele:

Bedenken Sie Folgendes 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
Nach dem Login kopieren

Da im ersten Fall „100“ eine gültige Ganzzahl ist, ist die Konvertierung erfolgreich und gibt den Wert 100 zurück. Im zweiten Fall ist „XXX“ kein numerischer Wert, daher ist die Konvertierung erfolgreich und gibt den Wert 100 zurück Die Funktion ISNUMERIC() gibt 0 zurück, wodurch der CASE-Ausdruck zurückgegeben wird NULL.

Überlegungen:

Es ist erwähnenswert, dass ISNUMERIC() bestimmte Einschränkungen hat. Beispielsweise kann es „true“ für Zeichenfolgen zurückgeben, die Währungssymbole ($), Trennzeichen (,) oder (.) und arithmetische Operatoren ( , -) enthalten. Daher kann eine zusätzliche Validierung erforderlich sein, um die Integrität der Konvertierung sicherzustellen.

Das obige ist der detaillierte Inhalt vonWie kann man Strings in T-SQL sicher in Ganzzahlen mit Standardwerten umwandeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage