Al usar TO_CHAR()
función para formatear un valor de fecha y hora en Oracle Database, puede agregar el indicador AD/BC simplemente agregando A.D.
o BC
a su modelo de formato.
Oracle luego muestra el indicador apropiado, dependiendo de si el valor de la fecha es AD o BC.
Puede proporcionarlo en mayúsculas o minúsculas, y con o sin puntos (por ejemplo, A.D.
, A.D.
ad
, a.d
, etc). Oracle luego mostrará el indicador como se especifica.
Ejemplo
Aquí hay un ejemplo para demostrarlo:
SELECT
TO_CHAR(date '2030-12-30', 'DD-MM-YYYY AD')
FROM DUAL;
Resultado:
30-12-2030 AD
En este caso, la fecha es AD, por lo que el resultado tiene A.D.
adjunto.
AD vs BC
Oracle determina si es AD o BC y muestra el indicador aplicable.
Esto es lo que sucede cuando cambio la fecha a un valor BC:
SELECT
TO_CHAR(date '-2030-12-30', 'DD-MM-YYYY AD')
FROM DUAL;
Resultado:
30-12-2030 BC
El indicador resultante es BC, aunque mi cadena de formato es A.D.
.
Mayúsculas vs Minúsculas
Cambiar el caso del elemento de formato cambia el caso del resultado:
SELECT
TO_CHAR(date '2030-12-30', 'DD-MM-YYYY AD') AS "Uppercase",
TO_CHAR(date '2030-12-30', 'DD-MM-YYYY ad') AS "Lowercase",
TO_CHAR(date '2030-12-30', 'DD-MM-YYYY Ad') AS "Mixed"
FROM DUAL;
Resultado:
Uppercase Lowercase Mixed ________________ ________________ ________________ 30-12-2030 AD 30-12-2030 ad 30-12-2030 Ad
Puntos vs No Puntos
Puedes incluir puntos si lo prefieres:
SELECT
TO_CHAR(date '2030-12-30', 'DD-MM-YYYY A.D.') AS "Uppercase",
TO_CHAR(date '2030-12-30', 'DD-MM-YYYY a.d.') AS "Lowercase",
TO_CHAR(date '2030-12-30', 'DD-MM-YYYY A.d.') AS "Mixed"
FROM DUAL;
Resultado:
Uppercase Lowercase Mixed __________________ __________________ __________________ 30-12-2030 A.D. 30-12-2030 a.d. 30-12-2030 A.D.
Aunque, tenga en cuenta que esto afectó el indicador de mayúsculas y minúsculas.
Fecha y hora de hoy
Aquí, paso SYSDATE
para usar la fecha actual:
SELECT
TO_CHAR(SYSDATE, 'DD-MM-YYYY A.D.')
FROM DUAL;
Resultado:
29-08-2021 A.D.