Do konwersji VARCHAR na INT można użyć metod SQL Server CAST() i CONVERT(). Przyjrzymy się również bardziej wydajnemu i bezpiecznemu podejściu do przekształcania wartości z jednego typu danych na inny.
RZUCAĆ()
The RZUCAĆ() Funkcja w SQL Server służy do rzutowania lub przekształcania wartości lub wyrażenia z jednego typu danych na inny.
Składnia:
CAST ( expression AS target_type [ ( length ) ] )>
Parametry:
- wyrażenie – Dowolna wartość dowolnego typu, która zostanie przekonwertowana.
- typ_celu – Docelowy typ danych, na który wartość zostanie przekonwertowana. np. INT, BIT, SQL_VARIANT itp.
- długość – Opcjonalny parametr określający długość typu_celu, domyślna długość to 30.
Weźmy przykład, w którym funkcja CAST() jest używana do konwersji VARCHAR na INT.
skaner.next Java
Zapytanie:
SELECT CAST('1234' AS INT) AS Result;> Wyjście:
Konwertować()
W SQL Server, KONWERTOWAĆ() Funkcja służy do konwersji wartości jednego typu na inny. Konwersja czegokolwiek wiąże się ze zmianą jego kształtu lub wartości.
Składnia:
SELECT CONVERT ( target_type ( length ), expression )>
Parametry :
- typ_celu – Typ danych, na który wyrażenie zostanie skonwertowane, np.: INT, BIT, SQL_VARIANT itp.
- długość – Podaje długość typu docelowego. Długość nie jest obowiązkowa. Domyślna długość jest ustawiona na 30.
- wyrażenie – wyrażenie to wszystko, co zostanie przekształcone.
W poniższym przykładzie funkcja CONVERT() służy do konwersji VARCHAR na INT.
Zapytanie:
SELECT CONVERT(INT,'5678') AS Result;>
Omówmy teraz bardziej efektywne podejście do konwersji wartości z jednego typu danych na inny przy użyciu funkcji TRY_CAST() i TRY_CONVERT() SQL Server:
WYPRÓBUJ_CAST()
The WYPRÓBUJ_CAST() funkcja próbuje rzutować wartość wejściową na wartość danego typu danych. Jeśli rzutowanie zakończy się pomyślnie, zwraca wartość z podanych danych; w przeciwnym razie zwraca NULL. Jeśli jednak zażądasz nieprawidłowej konwersji, metoda TRY_CAST() zwróci błąd.
Składnia:
TRY_CAST ( expression AS data_type [ ( length ) ] )>
Zastosowane parametry:
- typ danych: Prawidłowy typ danych, na który funkcja rzutuje wyrażenie.
- wyrażenie: Wartość do rzutowania.
Zapytanie:
SELECT TRY_CAST('1234' as INT) as Result;> Zapytanie:
SELECT TRY_CAST('1234abc' as INT) as Result;> TRY_KONWERTUJ()
The TRY_KONWERTUJ() Metoda próbuje przekonwertować dostarczoną jej wartość na określony typ danych. Jeśli rzutowanie się powiedzie, zwraca wartość jako podane dane; w przeciwnym razie zwraca NULL. Jeśli zażądasz konwersji, która jest wyraźnie zabroniona, metoda TRY CONVERT() zwróci błąd.
Składnia:
pvr pełna forma
TRY_CONVERT ( data_type[(length)], expression [,style])>
Zastosowane parametry:
- typ danych: Prawidłowy typ danych, na który funkcja rzutuje wyrażenie.
- wyrażenie: Wartość do rzutowania.
- styl: Jest podaną liczbą całkowitą określającą sposób, w jaki funkcja przetłumaczy wyrażenie.
Zapytanie:
SELECT TRY_CONVERT( INT ,'5678') as Result;>
Zapytanie:
SELECT TRY_CONVERT( INT ,'56abc') as Result;>