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

cambie el formato de fecha 'yyyy/mm/dd' a 'mm-dd-yyyy' en Oracle

to_date() toma su parámetro de cadena, lo compara con el formato que proporciona en el segundo parámetro y construye un campo de fecha a partir de él. El campo de fecha no usa el formato que proporcionó en el segundo parámetro; de hecho, se almacenará usando alguna representación de datos interna que no tiene ningún formato (un número, con toda probabilidad).

Para volver a presentar un formato en los resultados de un campo de fecha, puede:

  1. Haga que el cliente que ejecuta la consulta configure los parámetros NLS (a nivel de sesión) para proporcionar un formato localizado, con ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD'; declaración), o
  2. Utilice to_char(..., 'YYYY-MM-DD') alrededor de su campo existente para volver a convertir la fecha en una cadena con el formato que desee. Donde reemplazas ... con su definición de columna actual en la selección.

El enfoque n. ° 1 ya está sucediendo, ya que habrá un conjunto NLS_DATE_FORMAT que está produciendo el formato actual, pero tiene un formato que no desea, por lo que si puede controlarlo y cambiarlo allí, puede hacerlo así. camino. Si no puede y debe tener el formato de otra manera consistente, entonces el #2 podría ser el camino a seguir.