Sql to_char

Sql to_char
La función to_char () en SQL le permite convertir un valor en una cadena. Esta función está disponible en las bases de datos de Oracle.

Discutamos cómo puede usar la función de Oracle To_Char () y las alternativas disponibles en otros motores de base de datos.

Oracle to_char () función

La función to_char () le permite convertir un número o un objeto de fecha y hora en una cadena en las bases de datos Oracle.

Las sintaxis disponibles son como se muestra a continuación:

to_char_number :: =
to_char_date :: =

La función tomará un número en la primera sintaxis y la convertirá en un tipo VARCHAR2. El número especificado en este caso puede ser el número de tipo, binary_float o binary_double.

Podemos ilustrar un ejemplo como se muestra a continuación:

SELECCIONAR
To_char (1000, '99999.9 ')
DE
doble;

El ejemplo anterior convertirá el número 1000 en una cadena especificada en el FMT. Puede consultar los modelos de formato Oracle para obtener más información.

El código anterior debe devolver la salida como:

También puede convertir un número en una cadena con ceros como se muestra en el ejemplo a continuación:

SELECCIONAR
To_char (1000, '0000000')
DE
doble;

Lo anterior debería regresar:

To_char - dateTime

El segundo uso de la función To_Char en Oracle es convertir una DataTime en una cadena. La función toma el objeto de fecha y hora de la fecha de tipo, la marca de tiempo, la marca de tiempo con la zona horaria, etc.

La función luego convertirá el valor especificado en un tipo VARCHAR2.

Podemos ilustrar un uso de ejemplo como se muestra a continuación:

SELECCIONAR
To_char (sysdate, 'yyyy_mm_dd')
DE
doble;

El ejemplo anterior debe convertir el valor de la función Sysdate en una cadena siguiendo el formato especificado de YYYY-MM-DD.

La salida es como se muestra a continuación:

Puede especificar otras opciones de formato como se muestra en el recurso a continuación.

https: // documentos.oráculo.com/cd/b19306_01/servidor.102/B14200/SQL_ELEMENTS004.HTM#i34510

Por ejemplo, para convertir el valor anterior en formato de fecha larga, podemos ejecutar:

SELECCIONAR
To_char (sysdate, 'dl')
DE
doble;

El código anterior debería devolver:

Función de reparto SQL

Notará que otros motores de base de datos no proporcionan la función To_Char. Sin embargo, podemos usar el Cast () del SQL estándar para convertir un valor en una cadena.

La sintaxis de la función es como se muestra:

Cast (Expression como String [format_clause [en la zona horaria TIMEZone_Expr]]))

La función de reparto le permitirá convertir un valor en un tipo de cadena. Entonces, por ejemplo, para convertir un número en una cadena, podemos hacer:

Seleccione Cast (100 como Varchar);

El código anterior debe convertir el entero en Varchar como se muestra:

varar
---------
100
(1 fila)

Si el especificado no se puede convertir al tipo de destino, la función devolverá un error.

Un ejemplo es como se muestra:

Seleccione Cast ('Hola!' COMO ENTERO);

En el ejemplo anterior, intentamos convertir la cadena HI a un entero. Desafortunadamente, esto dará como resultado un error como se muestra a continuación:

Error: sintaxis de entrada no válida para Escriba entero: “Hola!"

NOTA: El mensaje de error puede diferir según el motor de su base de datos de destino.

También puede usar la función de reparto para convertir un objeto de fecha y hora en una cadena. Considere el ejemplo ilustrado que se muestra a continuación:

Seleccione Cast (ahora () como Varchar);

La consulta anterior debe regresar:

ahora
------------------------------
2022-04-05 01:31:26.62212+03
(1 fila)

Como puede ver, la función de reparto convierte el valor de la función ahora () en una cadena.

Conclusión

Para este artículo, aprendió cómo usar la función To_Char () para convertir un número o de fecha y hora en una cadena utilizando el motor de la base de datos Oracle. También cubrimos cómo convertir de un tipo a otro usando la función Cast () en SQL estándar.

Gracias por leer!!