En Oracle Database, cuando se usa TO_CHAR()
función para devolver el nombre del día a partir de una fecha, se agregará relleno al nombre del día si es más corto que el nombre de día válido más largo para el idioma y el calendario dados.
Bueno, ese es el comportamiento predeterminado. Sin embargo, puede cambiar esto si lo desea.
Para suprimir este relleno, todo lo que necesita hacer es anteponer el elemento de formato de nombre de día con fm
.
Ejemplo
Supongamos que ejecutamos el siguiente código:
SELECT
TO_CHAR(date '2030-03-08', 'Day, DD Month YYYY')
FROM DUAL;
Resultado:
Friday , 08 March 2030
Podemos ver que se agregaron espacios finales al nombre del día y al nombre del mes.
Podemos usar el fm
modificador de formato para suprimir este espacio:
SELECT
TO_CHAR(date '2030-03-08', 'fmDay, DD Month YYYY')
FROM DUAL;
Resultado:
Friday, 8 March 2030
Problema resuelto.
Tenga en cuenta que esto también tuvo el beneficio adicional de suprimir los espacios finales del nombre del mes.
También suprimió el cero inicial del número del día.
Podemos usar múltiples fm
modificadores para ser más específicos sobre qué relleno queremos suprimir. Cada fm
en nuestro modelo de formato, activa y desactiva el modo de llenado.
Supongamos que queremos suprimir los espacios finales de los nombres de día y mes, pero queremos conservar el cero inicial en el número de día. En ese caso podemos hacer lo siguiente:
SELECT
TO_CHAR(date '2030-03-08', 'fmDay, fmDD fmMonth YYYY')
FROM DUAL;
Resultado:
Friday , 08 March 2030
La razón por la que usamos un tercer fm
(delante de MONTH
) es porque el segundo fm
se volvió a habilitar el relleno para todos los elementos de formato posteriores, lo que daría como resultado que los espacios finales se conservaran durante el mes.
Esto es lo que quiero decir:
SELECT
TO_CHAR(date '2030-03-08', 'fmDay, fmDD Month YYYY')
FROM DUAL;
Resultado:
Friday , 08 March 2030
En este caso, se suprimió el relleno del nombre del día y luego se volvió a habilitar para el número del día, el mes y el año.
Afortunadamente, podemos agregar tantos fm
modificadores que necesitemos para obtener el resultado deseado.