En este grupo En todos

Foro de Oracle



Formato de fecha en pl/sql developer

Escrito por Juan
el 29/04/2005

Hola a todos, estoy intentado hacer este update en pl/sql developer

update tiempos
set f_fin='16/01/05 8:51:59'
where ordenfabri=64000

Y me da el error: "ORA-01830: La máscara de formato de fecha termina antes de convertir toda la cadena de entrada"

¿Alguien sabe la forma en que se puede introducir una fecha junto con una hora?

Muchas gracias

Nerea
Guipúzcoa, España
Escrito por Nerea
el 05/05/2005
    Mensaje original: Enviado por Juan

    Hola a todos, estoy intentado hacer este update en pl/sql developer

    update tiempos
    set f_fin='16/01/05 8:51:59'
    where ordenfabri=64000

    Y me da el error: "ORA-01830: La máscara de formato de fecha termina antes de convertir toda la cadena de entrada"

    ¿Alguien sabe la forma en que se puede introducir una fecha junto con una hora?

    Muchas gracias



Intenta poner:

update tiempos
set f_fin=to_date('16/01/05 08:51:59','DD/MM/YY HH24:MI:SS')
where ordenfabri=64000

Escrito por Juan
el 06/05/2005
    Funciona!
    Muchas gracias...
Escrito por Antonio Núñez Lezcano
el 22/05/2006

Tengo el siguiente problema:  intento obtener el número de día de la semana de una determinada fecha de esta forma select to_number(to_char(to_date('22/05/2006'), 'd')) from dual;el problema es que en una pc me da como resultado en número 1 y en otra el número dos. Quiero saber donde puedo configurar para que siempre me todo "domingo" como primer día de la semana.

Si pueden ayudarme les agradeceré.

Escrito por Sago
el 04/07/2006

Utiliza la funcion to_date(fecha(15-05-2006), formato('YYMMDD') )



Escrito por Administrador+del+foro
el 09/11/2006

¿Te gustan los foros de Emagister? ¿Quieres ser un miembro de nuestro equipo? Ya es tu oportunidad!

Estamos buscando el siguente perfil:

Puesto vacante:
Desarrollador PHP/Web
Descripción de la oferta:
Emagister. Com (Grupo Intercom) es el portal de formación número 1 en España.

Queremos incorporar un desarrollador PHP/WEB con conocimientos de Sistemas para nuestro equipo de FOROS.

Qué estamos buscando?
1- Mínimo de 1 año de experiencia laboral utilizando PHP, SQL, MySQL, Javascript y Linux.
2- PASIÓN y conocimiento del entorno Internet.
3- Muchísimas ganas de aprender y proactividad.
4- Alta capacidad de compromiso. Buscamos relaciones a LARGO PLAZO.
5- Gran capacidad de trabajo y focalización.
6- Se valorará conocimientos de Coldfusion y Oracle.
7- Ideas claras y capacidad de aportar y defender sus ideas. Trabajo 100% en equipo.

Qué ofrecemos:
1- Trabajo CREATIVO con capacidad de crecimiento
2- Entorno con un nivel muy alto desde el punto de vista técnico y de negocio en una empresa puntera del sector.
3- Empresa rompedora donde EL CAMBIO es nuestra herramienta para conseguir los objetivos.
4- Ideas claras y orientación a la acción.
5- Apuesta TOTAL por los miembros del equipo: formación y crecimiento continuo.

Te interesa. Apúntate a la oferta aquí:

https://www.infojobs.net/oferta. Empleo/desarrollador-php-web/550920475308234655544207446803

Monica Mog
Ecuador, Ecuador
Escrito por Monica Mog
el 13/12/2006

Si alguien me puede ayudar por favor. Diganme como puedo extraer la hora de una fecha, utilizo trunc(to_date(fecha):hh) pero no me, agradeceria su ayuda.

Escrito por Caceres
el 23/04/2007

Hola,

A mi me dio el mismo error, y lo resolví cambiando la configuración regional del equipo donde está la aplicación, o el servidor. Si ejecutas esa instruccion y en la configuracion regional tienes hh:mm:ss:tt, te  saldra el error, por que estas tratando de rescatar una fecha con hora que viene por ejemplo 10:11:22 am, y ese "AM" es el que provoca la caida, debes quitar el   "tt"

Si hay más usuarios utilizando la aplicación ellos no verán tu cambio, a menos que los borres y los vuelvas a crear ingresando con el usuario administrador de la máquina y les asignes a ellos el perfil que esta por "Default " en la maquina (el que ya dejaste corregido)

Cangrejo
Santiago, Chile
Escrito por Cangrejo
el 26/06/2007

Nesecito recuperar el dia de "ayer " y no caxo como


Nataly
Durango, México
Escrito por Nataly
el 27/09/2007

Buscando algo me tope con tu post, asi que para aquellos que tienen la misma duda o no te resolvieron la tuya en todo este tiempo... La resuesta es:

select to_char(sysdate,"HH:MI") from dual

Obviamente le puedes dar el formato que quieras a la hora.

Escrito por Miguel
el 28/02/2008

Sres.

Como puedo extrar la hora de campo "fch_movimiento" que por default muestra fecha_hora "28/02/2008 15:25:25 pm"


Saludos

Escrito por Edgardofiori
el 04/08/2010

Buenas tardes

Tengo un select sobre una base de ORACLE que me devuelve la fecha en un string y necesito que lo devuelva en formato Fecha " dd/mm/aaaa" y ya probe por lo menos todo lo que sabia
Necesitaria si alguien me puede ayudar
El select es el siguiente

SELECT SUBSTR(RES2. DT_REFERENCIA,1,6) ||SUBSTR(RES2. DT_REFERENCIA,7,2) DT_REFERENCIA,



Bismer Carvajal Alzate
Santander, Colombia
Escrito por Bismer Carvajal Alzate
el 27/08/2010

Buenos días, Oracle es muy flexible y sencillo, prueba con lo siguiente

Select


to_char( sysdate , 'dd/mm/rrrr' ) fecha from dual

Se debe tener en cuenta de qué tipo es el parámetro que se recibe y qué tipo quiero retornar

La función TO_CHAR se utiliza cuando el parámetro que se recibe es de tipo DATE y se quiere retornar un varchar2

La función TO_DATE se utiliza Cuando el parámetro que se recibe es de varchar2 y se requiere retornar un DATE, pero se debe conocer el formato en el cual está la fecha que se recibe.



Select


to_date(to_char( sysdate , 'dd/mm/rrrr' ), 'dd/mm/rrrr' ) fecha from dual

Select


to_date( '27/08/2010' , 'dd/mm/rrrr' ) fecha from dual

Select


to_date( '27/aug/2010' , 'dd/mon/rrrr' ) fecha from dual


Saludos

Bismer Carvajal Alzate
Santander, Colombia
Escrito por Bismer Carvajal Alzate
el 27/08/2010

Buenos días,

El manejo de fechas en Oracle es uno de los dolores de cabeza para los programadores de PL/Sql ya que dependiendo de la configuración regional del cliente, y de los parámetros de la base de datos, NLS_LANG específicamente, se deben usar los formatos correspondientes.

Para evitar tener este tipo de problemas, lo que se acostumbra es crear una función que convierta a fecha, la cual como mínimo debe recibir la fecha como varchar2 y el formato en el cual viene dicha fecha, una vez realices el proceso de conversión a DATE oracle ya lo la maneja transparentemente en los insert, update y demás tareas que se requiera hacer.

Declare




V_fecha


varchar2 ( 22 ) := '27/08/2010 13:15:55' ;

V_formato


varchar2 ( 22 ) := 'DD/MM/rrrr HH24:MI:SS' ;

D_fecha


date ;

Begin

D_fecha := to_date(v_fecha,v_formato);

Dbms_output. Put_line(to_char(d_fecha,v_formato));

End


;

Saludos desde Colombia para Todos.

Bismer Carvajal Alzate
Santander, Colombia
Escrito por Bismer Carvajal Alzate
el 27/08/2010





Cuando la fecha está almacenada en un varchar2:

declare

Fch_movimiento


varchar2 ( 32 ) := '28/02/2008 03:25:25 pm' ;

V_formato


varchar2 ( 22 ) := 'dd/mm/rrrr hh:mi:ss am' ;

V_formatHora


varchar2 ( 16 ) := 'HH24:mi:ss' ;

Fecha_hora


varchar2 ( 18 );

V_fecha


date ;

Begin

V_fecha := to_date(fch_movimiento,v_formato);

Fecha_hora := to_char(v_fecha,v_formatHora);

Dbms_output. Put_line(fecha_hora);

End


;

--------------------------------------------------------

Cuando la fecha ya está en un DATE

Declare




Fch_movimiento


date := sysdate ;

V_formatHora


varchar2 ( 16 ) := 'HH24:mi:ss' ;

Fecha_hora


varchar2 ( 18 );

Begin

Fecha_hora := to_char(fch_movimiento,v_formatHora);

Dbms_output. Put_line(fecha_hora);

End


;

Antonio Rafael De Leon Guzman
Distrito Nacional, R...
Escrito por Antonio Rafael De Leon Guzman
el 07/09/2010

Mis estimados, el formato lo consiguen con la intrucción to_char, espero les ayude, cualquier cosa estamos aqui.


Select to_char ( sysdate , ':hh' ) from dual ;



Lulu Vazquez
Nuevo León, México
Escrito por Lulu Vazquez
el 21/10/2010

Es to se debe a la configuracion de tu sesion o base de datos. Prueba a dar ese set antes de ejecutar la funcion

EXECUTE


IMMEDIATE ( 'ALTER SESSION SET NLS_LANGUAGE= ''AMERICAN'' NLS_TERRITORY= ''AMERICA'' NLS_DATE_LANGUAGE=''AMERICAN'' ' );

Alpem Alpem
Bogotá, Colombia
Escrito por Alpem Alpem
el 16/01/2013

PARA EL DIA DE AYER
SELECT TO_CHAR(SYSDATE - INTERVAL '1' DAY), 'DD' ) FROM DUAL;

PARA LA FECHA COMPLETA DE AYER
SELECT SYSDATE - INTERVAL '1' DAY FROM DUAL;

Alpem Alpem
Bogotá, Colombia
Escrito por Alpem Alpem
el 16/01/2013



SELECT SYSDATE - INTERVAL

'1' DAY FROM DUAL;

SELECT to_char(SYSDATE - INTERVAL
'1' DAY), 'DD' ) FROM DUAL;


Alpem Alpem
Bogotá, Colombia
Escrito por Alpem Alpem
el 16/01/2013

Con esto recuperaras el dia de ayer