yyyy to_date to_char formato fecha ejemplos sql oracle oracle10g

sql - to_char - to_date oracle dd/mm/yyyy



Oracle Date TO_CHAR(''Month DD, YYYY'') tiene espacios adicionales en ella (5)

Cuando lo hago...

Select TO_CHAR (date_field, ''Month DD, YYYY'') from...

Me sale lo siguiente:

July 01, 2011 April 01, 2011 January 01, 2011

¿Por qué hay espacios extra entre mi mes y mi día? ¿Por qué no los pone uno al lado del otro?


¿Por qué hay espacios extra entre mi mes y mi día? ¿Por qué no los pone uno al lado del otro?

Así se alineará su salida.

Si no quieres relleno usa el modificador de formato FM :

SELECT TO_CHAR (date_field, ''fmMonth DD, YYYY'') FROM ...;

Referencia: modificadores del modelo de formato


Debe utilizar el elemento fm para eliminar espacios en blanco.

SELECT TO_CHAR(sysdate, ''fmDAY DD "de" MONTH "de" YYYY'') CURRENT_DATE FROM dual;


prueba esto:-

select to_char(to_date(''01/10/2017'',''dd/mm/yyyy''),''fmMonth fmDD,YYYY'') from dual; select to_char(sysdate,''fmMonth fmDD,YYYY'') from dual;


si usa ''Mes'' en to_char it right pads a 9 caracteres; tienes que usar el abreviado ''MON'', o to_char, luego recórtalo y concatena para evitar esto. Consulte, http://www.techonthenet.com/oracle/functions/to_char.php

select trim(to_char(date_field, ''month'')) || '' '' || to_char(date_field,''dd, yyyy'') from ...

o

select to_char(date_field,''mon dd, yyyy'') from ...


SQL> -- original . . . SQL> select 2 to_char( sysdate, ''Day "the" Ddth "of" Month, yyyy'' ) dt 3 from dual; DT ---------------------------------------- Friday the 13th of May , 2016 SQL> SQL> -- collapse repeated spaces . . . SQL> select 2 regexp_replace( 3 to_char( sysdate, ''Day "the" Ddth "of" Month, yyyy'' ), 4 '' * *'', '' '') datesp 5 from dual; DATESP ---------------------------------------- Friday the 13th of May , 2016 SQL> SQL> -- and space before commma . . . SQL> select 2 regexp_replace( 3 to_char( sysdate, ''Day "the" Ddth "of" Month, yyyy'' ), 4 '' *(,*) *'', ''/1 '') datesp 5 from dual; DATESP ---------------------------------------- Friday the 13th of May, 2016 SQL> SQL> -- space before punctuation . . . SQL> select 2 regexp_replace( 3 to_char( sysdate, ''Day "the" Ddth "of" Month, yyyy'' ), 4 '' *([.,/:;]*) *'', ''/1 '') datesp 5 from dual; DATESP ---------------------------------------- Friday the 13th of May, 2016