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:
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:
int4SQL 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;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:
PLATFORMASQL 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”: NullNOTATKA: 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.