Oracle
 sql >> Base de données >  >> RDS >> Oracle

changer le format de date 'aaaa/mm/jj' en 'mm-jj-aaaa' dans Oracle

to_date() prend votre paramètre de chaîne, le fait correspondre au format que vous fournissez dans le deuxième paramètre et construit un champ de date à partir de celui-ci. Le champ de date n'utilise pas le format que vous avez fourni dans le deuxième paramètre - en fait, il sera stocké à l'aide d'une représentation de données interne qui n'a aucun format (un nombre, selon toute vraisemblance).

Pour présenter un format dans les résultats à partir d'un champ de date, vous pouvez soit :

  1. Demandez au client exécutant la requête de définir les paramètres NLS (au niveau de la session) pour fournir un format localisé, avec un ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD'; déclaration), ou
  2. Utilisez to_char(..., 'YYYY-MM-DD') autour de votre champ existant pour transformer la date en une chaîne formatée comme vous le souhaitez. Où vous remplacez ... avec votre définition de colonne actuelle dans la sélection.

L'approche n ° 1 est déjà en cours, car il y aura déjà un ensemble NLS_DATE_FORMAT qui produit le format actuel, mais c'est avec un format que vous ne voulez pas, donc si vous pouvez le contrôler et le changer là-bas, vous pouvez le faire façon. Si vous ne pouvez pas et que vous devez avoir le format d'une seule autre manière cohérente, alors #2 pourrait être la voie à suivre.