portable - sql oracle pdf
¿Cuál es la diferencia entre la máscara de fecha de ''yy'' y ''rr'' de oráculo? (6)
Mi última experiencia con Oracle fue hace un tiempo
uhm, ¿lo era, antes de 2000? :pag
...
¿Siempre asumirá 19xx?
de acuerdo con su fuente , obtenemos los siguientes escenarios:
USING
ENTERED
STORED
SELECT of date column
YY
22-FEB-01
22-FEB-1901
22-FEB-01
YYYY
22-FEB-01
22-FEB-0001
22-FEB-0001
RR
22-FEB-01
22-FEB-2001
22-FEB-01
RRRR
22-FEB-01
22-FEB-2001
22-FEB-2001
/ mp
Ejemplo:
select ename from emp where hiredate = todate(''01/05/81'',''dd/mm/yy'')
y
select ename from emp where hiredate = todate(''01/05/81'',''dd/mm/rr'')
devolver resultados diferentes
Acerca de RR o RRRR:
Cuando estamos insertando las fechas con 2 degits años, es decir 09 / oct / 15
entonces el oráculo puede cambiar los siglos automáticamente, por lo tanto, la siluetación es de 4 dígitos. Pero la versión de 4 grados se presenta en algunas versiones, pero antes las soluciones para este problema eran RR o RRRR, pero tenga en cuenta que solo funciona con TO_DATE ( ) función pero nada con la función TO_CHAR ().
Cuando se realizan inserciones / actualizaciones en las fechas siempre debemos aclarar la fecha actual que se ejecuta en el reloj en asociación con la traducción de la fecha, ya que Oracle realiza cada traducción de la fecha al contactar al servidor.
Para mantener las consistencias entre los siglos, siempre es mejor ejecutar la traducción de fecha con 4 años de degit.
Acerca de YY o YYYY:
Acepta las fechas pero no tiene la funcionalidad para cambiarlo automáticamente.
Esta imagen muestra el comportamiento al insertar la fecha con dos degit no es decir 09 / oct / 15
RR muestra cuatro dígitos como 1999 o 2015 (si es <49, entonces considerará el siglo XX)
RR significa después de 1990 y yy asume 90 como 2090 .... como estamos en el año actual, ...
compatibilidad con y2k. rr asume 01 para ser 2001, yy supone 01 para ser 1901
ver: http://www.oradev.com/oracle_date_format.jsp
editar: ¡maldición! michael "quickfingers" stum me golpeó !
/ mp
YY le permite recuperar solo dos dígitos de un año, por ejemplo, el 99 en 1999. Los otros dígitos (19) se asignan automáticamente al siglo actual. RR convierte años de dos dígitos en años de cuatro dígitos redondeando.
50-99 se almacenan como 1950-1999, y las fechas que terminan en 00-49 se almacenan como 2000-2049. RRRR acepta una entrada de cuatro dígitos (aunque no es obligatorio) y convierte las fechas de dos dígitos como lo hace RR. YYYY acepta entradas de 4 dígitos, pero no hace ninguna conversión de fecha
Esencialmente, su primer ejemplo supondrá que 81 es 2081, mientras que el RR supone 1981. Por lo tanto, el primer ejemplo no debe devolver ninguna fila, ya que es muy probable que todavía no haya contratado ningún hombre después del 1 de mayo de 2081 :-)