sql >> Base de Datos >  >> RDS >> Oracle

cómo insertar la fecha actual en un campo de FECHA en formato dd/mm/yyyy en Oracle

DATE es un tipo incorporado en Oracle, que se representa de forma fija y no tiene control sobre él.

Entonces:

Quiero que se inserte [...] como 01/08/2011 12:00:00 AM

Lo anterior es una tontería. No insertas una cadena, insertas una fecha.

El formato es útil solo cuando desea:

  • para convertir una cadena en una representación interna de fecha con TO_DATE (máscara de formato:cómo analizar la cadena);
  • para convertir una representación interna de fecha en una cadena con TO_CHAR (máscara de formato:cómo representar la fecha).

Básicamente, en su ejemplo, toma una FECHA, la convierte en una CADENA con algún formato y la vuelve a convertir en FECHA con el mismo formato. Esto no es operativo.

Ahora, lo que muestra su cliente:esto se debe a que su Cliente de Oracle no mostrará los campos de FECHA directamente y la capa NLS convertirá cualquier campo de FECHA que esté seleccionado. Por lo tanto, depende de su configuración regional de forma predeterminada.

Lo que quieres es SELECT TO_CHAR(SYSDATE,'DD/MM/YYYY') FROM dual; que realizará explícitamente la conversión y devolverá una cadena.

Y cuando desee insertar una fecha en una base de datos, puede usar TO_DATE o literales de fecha.