Ceci est un malentendu.
Si votre type de données est date
, alors il est enregistré sans le format. Il s'agit juste d'un entier de 4 octets comptant des secondes depuis 2000.
Vous pouvez le formater de toute façon lors de l'affichage au client.
SELECT to_char(mydate, 'yyyy-mm-dd') AS one_way
,to_char(mydate, 'dd/mm/yyyy') AS other_way
'yyyy-mm-dd'
se trouve être le format ISO 8601, qui est la représentation de texte par défaut dans de nombreux endroits.
Vous pouvez toujours créer un VIEW
avec une représentation textuelle de la date:
CREATE VIEW v_tbl_with_date_foramt AS
SELECT id, some_column, to_char(mydate, 'dd/mm/yyyy') AS mydate_text
FROM tbl;
Mais maintenant il est une colonne text
, pas une colonne date
.
datestyle
est responsable de la façon dont les littéraux de date d'entrée sont interprétés.
LC_TIME
régule le comportement des fonctions date/heure.
L'affichage par défaut est la norme ISO 8601: 'yyyy-mm-dd'
.
L'idée générale d'un type de date est qu'il est stocké d'une manière qui convient à la base de données (par exemple pour le tri et le filtrage). Vous devriez faire votre mise en forme lorsque vous produisez les données. – Glorfindel
Les valeurs de date et heure dans les bases de données relationnelles sont généralement stockées au format binaire et sont représentées dans le format prédéterminé par la base de données. Donc, si vous souhaitez le représenter différemment, vous devez le transformer en valeur de caractère et fournir le format différent comme vous le faites dans votre requête. –
Je comprends parfaitement ... J'ai un problème avec un framework qui aide à construire des requêtes pour un formulaire de site web (un peu long à expliquer ici ...). Je voulais juste m'assurer qu'une telle transformation était possible ou non, cela m'aurait rendu la tâche plus facile. – wiltomap