0 votes

Puis-je utiliser le type de champ date MySQL avec un format de date personnalisé ?

J'ai une base de données MySQL avec deux champs : Date et Valeur. Mes dates sont des trimestres (Q1-2007, Q2-2008...). Je veux pouvoir utiliser la requête SQL suivante :

SELECT * FROM table WHERE 1 ORDER BY Date

Comment puis-je le faire ?

2voto

mopoke Points 6437

Je suppose que vous voulez qu'ils soient classés de manière à ce que tous les 2007 apparaissent dans l'ordre, suivis des 2008, etc. Cela devrait fonctionner :

SELECT * FROM table WHERE 1 ORDER BY SUBSTRING(Date, 4, 4), SUBSTRING(Date, 1, 2);

En supposant que vos formats de date sont tous cohérents et que votre colonne 'Date' est en fait un VARCHAR ou similaire...

1voto

Utilisez une colonne de dates et fixez une date pour chaque trimestre. Vous pouvez ensuite utiliser les fonctions intégrées pour les dates.

0voto

kiamlaluno Points 11856

Non. SELECT * FROM table WHERE 1 ORDER BY Date déjà trier le champ Date comme Q1-2007 , Q2-2007 , Q3-2007 , Q4-2007 ? Si vous triez de telles chaînes de caractères, c'est ainsi qu'elles devraient être triées.

Si je devais créer une base de données pour contenir ces valeurs, je préférerais utiliser 3 champs, et utiliser deux champs différents pour le trimestre et l'année.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X