SQL Convertir Varchar a Numérico

SQL Convertir Varchar a Numérico

La conversión es una tarea frecuente para programadores e ingenieros de bases de datos. Este artículo explorará cómo convertir un tipo VARCHAR en un tipo numérico en SQL estándar.

Debe tenerse en cuenta que cuando decimos SQL estándar, nos referimos a técnicas y métodos adoptados universalmente por motores de base de datos relacionales.

Método de reparto de SQL

En SQL estándar, Typecasting se logra mediante el uso de la función Cast (). La sintaxis de la función es como se muestra:

Cast (expresión como t_type [(longitud)]);

La función toma tres parámetros principales:

  1. La expresión se refiere a cualquier valor que se pueda convertir a un tipo especificado.
  2. El tipo t se refiere al tipo de datos al que se debe convertir el valor especificado: el tipo de destino puede incluir cualquier tipo SQL estándar compatible como int64, numérico, bignumérico, fecha, cadena, bytes, fecha y hora, tiempo, estructura, matriz, marca de tiempo, marca de tiempo, etc.
  3. Longitud - El tercer parámetro es longitud. Este es un parámetro opcional que especifica la longitud del tipo de destino.

SQL Convertir Varchar a int

Considere el ejemplo a continuación que convierte el tipo VARCHAR en un tipo INT64.

Seleccione Cast ('344' como int64);

La consulta de ejemplo debe devolver el valor convertido a int como se muestra:

int4
------
344

SQL Convertir Varchar a Numérico

Para convertir un tipo VARCHAR en un tipo numérico, cambie el tipo de destino como numérico o bignumérico como se muestra en el siguiente ejemplo:

Seleccione Cast ('344' como numérico) como numérico;
Seleccione Cast ('344' como Bignumérico) como Big_numeric;

Las consultas anteriores deben devolver el valor especificado convertido a numéricos y grandes numéricos.

Tenga en cuenta que para garantizar que el motor de su base de datos admita su tipo de destino; De lo contrario, devolverá un error.

SQL Convertir Varchar a Float

Si tiene Varchar de punto flotante, puede convertirlo en un tipo de flotación, como se muestra en el siguiente ejemplo:

Seleccione Cast ('3.14159 'como flotante) como flotante;

El código debe devolver el tipo de flotación del Varchar especificado. La salida de ejemplo es como se muestra a continuación:

FLOTAR
---------
3.14159
(1 fila)

Casting seguro SQL

¿Se ha preguntado qué sucede si intenta convertir una cadena no numérica a un tipo numérico?? Considere el ejemplo a continuación:

Seleccione Cast ('Hello' como int64) como var;

Si intenta ejecutar la consulta anterior, fallará ya que el tipo Varchar especificado no se puede convertir a int.

Para evitar que la consulta falle si la conversión no es compatible, podemos usar el método safe_cast.

La función se comporta de manera similar a la función de reparto, excepto que no falla si la conversión falla. En su lugar, devuelve nulo como se muestra en el siguiente ejemplo:

Seleccione SAFE_Cast ('Hello' como int64) como nan;

En lugar de un error, la consulta anterior debe devolver:

"Nan": nulo

NOTA: El método safe_cast es compatible en SQL estándar. Algunos motores de bases de datos pueden implementar los procedimientos de manera diferente. Por ejemplo, en SQL Server, la función Safe_cast () se renombra a Try_Cast o Try_Convert.

Conclusión

En este tutorial, discutimos cómo realizar tipos de tipos en SQL estándar. Por ejemplo, discutimos la conversión de Varchar a int64, numérico, bignumérico y float64. También cubrimos cómo realizar un lanzamiento seguro para escenarios en los que el tipo de clasificación puede resultar en un error.