visual studio net example ejemplo dataaccess conectar con 11g oracle nhibernate plsql oracle10g

studio - ¿El literal "fecha"[aaa-mm-dd] ''"de Oracle siempre usa el patrón aaaa-mm-dd?



oracle dataaccess dll (2)

Aquí hay un enlace a Oracle 10g SQL reference, en literales de fecha y hora . Extracto:

El literal de fecha ANSI no contiene una porción de tiempo, y debe especificarse exactamente en este formato (''YYYY-MM-DD'') . Alternativamente, puede especificar un valor de fecha de Oracle, como en el siguiente ejemplo:

TO_DATE(''98-DEC-25 17:30'',''YY-MON-DD HH24:MI'')

Reformulado, dado que uso la fecha así:

date''2010-04-10''

, ¿podría el resultado ser cualquier cosa menos el 10 de abril de 2010 (por ejemplo, el 4 de octubre de 2010)?

ACTUALIZAR Escucho lo que dicen usted y los documentos. Pero...

Cuando se ejecuta un trabajo por lotes, con hard-coded date''yyyy-mm-dd '': s, falla para algunos cálculos (no deterministas). Ejecutar las sentencias SQL anómalas en PL / SQL Developer nunca produce el mismo valor, incorrecto.

Primero, ejecuté los mismos cálculos (cientos de miles) con la fecha '''' que los literales de fecha reemplazaron con la función to_date ('''', ''''), y todo funcionó bien.

Luego, utilicé NHibernate y su proveedor de LINQ, y reemplacé el SQL hecho a mano por completo. ... y todo funcionó bien ... NHibernate produce una fecha literal, con la parte de tiempo incluida, por cierto.

ACTUALIZACIÓN Un colega mío escribió un código que puede reproducir el error en nuestro entorno. Publicó sus hallazgos (incluido el código) en Oracle Forums: https://forums.oracle.com/forums/thread.jspa?threadID=2304569&tstart=0

ACTUALIZACIÓN Cambió el título según la respuesta de zerkms.


No es función , sino fecha literal . Y, sí, siempre coincide con YYYY-MM-DD independientemente de las configuraciones de Oracle.