Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

formato fechas no cambia (NLS_DATE_FORMAT)

Estas en el tema de formato fechas no cambia (NLS_DATE_FORMAT) en el foro de Oracle en Foros del Web. Hola, he tratado infructuosamente cambiar el formato de fecha en la BD. Lo necesito de la forma DD-MM-YYYY. Para insertar funciona bien (hace el formateo ...
  #1 (permalink)  
Antiguo 31/05/2009, 13:47
 
Fecha de Ingreso: enero-2007
Mensajes: 97
Antigüedad: 17 años, 3 meses
Puntos: 1
formato fechas no cambia (NLS_DATE_FORMAT)

Hola, he tratado infructuosamente cambiar el formato de fecha en la BD. Lo necesito de la forma DD-MM-YYYY.
Para insertar funciona bien (hace el formateo y queda almacenada de esa manera) pero el problema lo tengo al momento de rescatar la información, esta me la entrega de la forma DD/MM/RR.

Estos son los datos de los NLS en la BD:
Idioma de la fecha: spanish
Formato de Fecha: DD-MM-YYYY
Registro de registro de hora: DD-MM-YYYY HH24:MI:SSXFF
Formato de Zona horaria de Registro de hora: DD-MM-YYYY HH24:MI:SSXFF TZR

También he intentado por consola y por código setear esta variable (ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MM-YYYY') a pesar que dice "sentencia procesada" al momento de consultar los campos fecha, estos siguen llegando con formato DD/MM/RR

Misma cosa si hago un
SELECT value
FROM v$nls_parameters
WHERE parameter ='NLS_DATE_FORMAT'

Además, en ningún archivo ini*.ora me aparece la variable NLS_DATE_FORMAT

Ya no se que más hacer, porfa una iluminación.
Gracias!

(Oracle 10 Express Edition de manera local)
  #2 (permalink)  
Antiguo 31/05/2009, 20:38
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: formato fechas no cambia (NLS_DATE_FORMAT)

haz probado con un alter system.
mira este enlace.
http://www.todoexpertos.com/categori...chas-en-oracle

Espero te sirva.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 01/06/2009, 22:10
 
Fecha de Ingreso: enero-2007
Mensajes: 97
Antigüedad: 17 años, 3 meses
Puntos: 1
Respuesta: formato fechas no cambia (NLS_DATE_FORMAT)

Gracias por responder, siguiendo el link que me diste estos fueron los resultados:

-Esta sentencia me genera error:
ALTER SYSTEM SET NLS_DATE_FORMAT='DD-MM-YYYY';
(ora-02096: el parametro de inicializacion especificado no se puede modificar con esta opcion)

-Esta sentencia me funcionó
ALTER SYSTEM SET NLS_DATE_FORMAT='DD-MM-YYYY' scope=spfile;
sistema fodificado

Pero al reiniciar el sistema, los valores de los campos fecha me seguian retornando de la forma 'DD/MM/RR', entonces segui con la forma 2: que oracle tomara los parámetros a la antigua (utilizando el ini*.ora). Al hacer esto procuré que en este archivo estubiera definido el parametro NLS_DATE_FORMAT = 'DD-MM-YYYY', sin embargo bajo esta forma de definir las variables en ningún caso los ALTER SYSTEM funcionan, pero los ALTER SESSION ahora sí hacian modificar el formato de la fecha (pero solo mientras dure la sesion).

En conclusión, nada hizo cambiar el formato de la fecha de manera permanente, asiesque opté por realizar un ALTER SESSION en el index de mi código, asi es que por cada vez que realizó una petición se realizá esta operación, no es lo más óptimo, pero me sirve para avanzar.

Gracias por la iluminación, saludos.
  #4 (permalink)  
Antiguo 02/06/2009, 09:57
Avatar de kikolice  
Fecha de Ingreso: marzo-2004
Mensajes: 1.510
Antigüedad: 20 años, 1 mes
Puntos: 7
Respuesta: formato fechas no cambia (NLS_DATE_FORMAT)

no lo he probado pero en otras herramientas de oracle asi funciona

prueba mediante el regedit, dentro de hkey_local_machine->software->oracle al instalar la xe se genera una nueva entrada llamada "KEY_XE" bajo esa ruta crea una nueva entrada que sea NLS_DATE_FORMAT y que tenga el valor que deseas
__________________
Blogzote.com :-) Mi blog
  #5 (permalink)  
Antiguo 04/06/2009, 07:14
 
Fecha de Ingreso: enero-2007
Mensajes: 97
Antigüedad: 17 años, 3 meses
Puntos: 1
Respuesta: formato fechas no cambia (NLS_DATE_FORMAT)

buen dato, pero un
"select sysdate from dual" ..o un
"SELECT value FROM v$nls_parameters WHERE parameter ='NLS_DATE_FORMAT'"
me siguen entregando un resultado en formtado DD/MM/RR ..he realizado de todo para dejarlo permanentemene de la forma DD-MM-YYYY pero nada ha resultado (solo lo he logrado para la sesión) ..sin embargo, estoy recién aprendiendo oracle asiesque si llego a econtrar la manera, lo publicaré ..gracias a todos por responder.
  #6 (permalink)  
Antiguo 07/06/2009, 22:18
 
Fecha de Ingreso: junio-2009
Mensajes: 4
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: formato fechas no cambia (NLS_DATE_FORMAT)

Hola a todos, soy nuevo en el foro, tengo un problema con una sentencia en oracle, lo que deseo hacer es restar una fecha de inicio con una fecha final y calcular la cantidad de meses entre esas dos fechas y luego ese numero de meses pasarlos a años, por ejem: 18 meses: 1 año y 6 meses, espero que me puedan ayudar, gracias
  #7 (permalink)  
Antiguo 26/08/2010, 13:37
 
Fecha de Ingreso: marzo-2010
Mensajes: 12
Antigüedad: 14 años, 1 mes
Puntos: 0
De acuerdo Respuesta: formato fechas no cambia (NLS_DATE_FORMAT)

Utiliza la funcion Months_between(d1,d2) te devuleve el numero de meses entre dos fechas, luego haces algo para que te de en años y meses

http://ora.u440.com/fecha/months_between.html

O hay algunas otras formas que te puedes ir creando por ti mismo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:41.