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