SQL przekonwertuj varchar na numeryczne

SQL przekonwertuj varchar na numeryczne

Konwersja jest powszechnym zadaniem dla programistów i inżynierów baz danych. W tym artykule zbadano sposób konwersji typu varchar na typ liczbowy w standardowym SQL.

Należy wziąć pod uwagę, że kiedy mówimy standardowy SQL, rozumiemy techniki i metody powszechnie przyjęte przez relacyjne silniki bazy danych.

Metoda obsady SQL

W standardowym SQL typecasting odbywa się za pomocą funkcji CAST (). Składnia funkcji jest jak pokazana:

Cast (wyrażenie jako t_type [(długość)]);

Funkcja przyjmuje trzy główne parametry:

  1. Wyrażenie odnosi się do dowolnej wartości, którą można przekonwertować na określony typ.
  2. Typ t odnosi się do typu danych, do którego należy przekonwertować określoną wartość: Typ docelowy może zawierać dowolny obsługiwany standardowy typ SQL, taki jak Int64, Numer, data, ciąg, bajty, dateTime, czas, struktura, tablica, znacznik czasu, itp.
  3. Długość - Trzeci parametr ma długość. Jest to opcjonalny parametr, który określa długość typu docelowego.

SQL CONVER CONVER VARCHAR na INT

Rozważ poniższy przykład, który przekształca typ Varchar na typ int64.

Wybierz Cast („344” jako INT64);

Przykładowe zapytanie powinno zwrócić wartość przekonwertowaną na int, jak pokazano:

int4
------
344

SQL przekonwertuj varchar na numeryczne

Aby przekonwertować typ varchar na typ liczbowy, zmień typ docelowy jako numeryczny lub bignumeryczny, jak pokazano w poniższym przykładzie:

Wybierz Cast („344” jako numeryczny) jako numeryczny;
Wybierz Cast („344” jako bignumeryczny) jako BIG_NUMERIC;

Powyższe zapytania powinny zwrócić określoną wartość przekonwertowaną na numeryczne i duże numeryczne.

Zauważ, że aby upewnić się, że silnik bazy danych obsługuje typ docelowy; W przeciwnym razie zwróci błąd.

SQL CONVER CONVER VARCHAR na FLOUS

Jeśli masz zmiennoprzecinkowy Varchar, możesz go przekonwertować na typ pływaka, jak pokazano w poniższym przykładzie:

Wybierz obsadę („3.14159 'jako pływak) jako pływak;

Kod powinien zwrócić typ zmiennoprzecinkowy określonego varchar. Przykładowe dane wyjściowe jest jak pokazano poniżej:

PLATFORMA
---------
3.14159
(1 rząd)

SQL Bezpieczne casting

Czy zastanawiałeś się, co się stanie, jeśli spróbujesz przekonwertować nie-numeryczny ciąg na typ numeryczny? Rozważ poniższy przykład:

Wybierz Cast („Hello” jako int64) jako var;

Jeśli spróbujesz uruchomić powyższe zapytanie, zawiedzie, ponieważ określonego typu varchar nie można przekonwertować na int.

Aby zapobiec awarii zapytania, jeśli konwersja nie jest obsługiwana, możemy użyć metody Safe_Cast.

Funkcja zachowuje się podobnie do funkcji odlewanej. Zamiast tego zwraca Null, jak pokazano w poniższym przykładzie:

Wybierz Safe_Cast („Hello” jako int64) jako NAN;

Zamiast błędu powyższe zapytanie powinno zwrócić:

„Nan”: Null

NOTATKA: Metoda Safe_Cast jest obsługiwana w standardowym SQL. Niektóre silniki bazy danych mogą wdrażać procedury inaczej. Na przykład w SQL Server funkcja safe_cast () jest przemianowana na try_cast lub try_convert.

Wniosek

W tym samouczku omówiliśmy, jak wykonywać obsługę typu w standardowym SQL. Na przykład omówiliśmy konwersję Varchar na INT64, Numeric, Bignumeric i Float64. Omówiliśmy również, jak wykonywać bezpieczne odlewanie dla scenariuszy, w których odlewanie typu może spowodować błąd.