Konvertieren des Varchar-Werts in einen Ganzzahl-/Dezimalwert in SQL Server
In SQL Server kann man einen Varchar-Wert in einen Integer- oder Dezimalwert umwandeln, indem man die CAST- oder CONVERT-Funktion verwendet.
Um einen Varchar-Wert in einen Integer umzuwandeln, kann man die CAST-Funktion wie folgt verwenden:
SELECT CAST('123' as INT)
Um einen Varchar-Wert in einen Dezimalwert umzuwandeln, kann man die CAST- oder CONVERT-Funktion wie folgt verwenden:
SELECT CAST('123.45' as DECIMAL(10, 2))
oder
SELECT CONVERT(DECIMAL(10, 2), '123.45')
Bitte beachten Sie, dass, falls der Varchar-Wert nicht in den angegebenen Datentyp konvertiert werden kann, die CAST- oder CONVERT-Funktion einen Fehler zurückgeben wird. Man kann ISNUMERIC() Funktion verwenden, um zu prüfen ob es sich um einen numerischen Wert handelt, bevor man castet.
DECLARE @varcharValue VARCHAR(100) = '123.45' IF (ISNUMERIC(@varcharValue) = 1) BEGIN SELECT CAST(@varcharValue as DECIMAL(10, 2)) END ELSE BEGIN SELECT 'Ungültige Eingabe' END