Order by sur un champ taille avec des KB, MB, etc

Order by sur un champ taille avec des KB, MB, etc - SQL/NoSQL - Programmation

Marsh Posté le 30-04-2011 à 12:14:28    

Bonjour à tous, cela fait longtemps que je n'ai pas remis les pieds sur HFR.
Je reviens vers vous pour solliciter une petite aide en SQL.
 
J'ai une table "fichier" dont je voudrais trier par taille de fichier. La logique voudrait un simple

Code :
  1. SELECT * FROM fichier ORDER BY taille DESC


 
Sauf que la colonne taille contient des valeurs du style "100 KB", "2.5 MB", "4.3 GB" etc. Je pense qu'il faille utiliser des fonctions pour transformer ces KB, MB et GB mais je ne vois pas trop comment gérer cela.
 
Merci beaucoup.
Welcominh.

Reply

Marsh Posté le 30-04-2011 à 12:14:28   

Reply

Marsh Posté le 30-04-2011 à 12:29:53    

dépend de ton sgbd
sous oracle j'aurais utilisé DECODE, LEFT et RIGHT


Message édité par couak le 30-04-2011 à 12:35:09
Reply

Marsh Posté le 30-04-2011 à 18:14:23    

Bonjour,
 
J'aurais personnellement fait une refonte de cette colonne en indiquant les tailles en simple nombre et non pas en char parce que là tu vois vite les limites, surtout si tu comptes faire des opérations plus complexes dans le futur (ne fut-ce qu'une addition).
Si c'est dans le but de faciliter la lecture de celles-ci tu peux aisément faire cette conversion au niveau de l'application avant affichage.


---------------
À défaut des dragons il me reste les moulins
Reply

Marsh Posté le 30-04-2011 à 19:28:16    

Er Dehydel a écrit :

Bonjour,
 
J'aurais personnellement fait une refonte de cette colonne en indiquant les tailles en simple nombre et non pas en char parce que là tu vois vite les limites, surtout si tu comptes faire des opérations plus complexes dans le futur (ne fut-ce qu'une addition).
Si c'est dans le but de faciliter la lecture de celles-ci tu peux aisément faire cette conversion au niveau de l'application avant affichage.


+1

Reply

Marsh Posté le 01-05-2011 à 10:12:38    

Bonjour,
 
Je suis sous MySQL.
D'accord, il vaut mieux revoir la structure de la table donc.

Reply

Marsh Posté le 02-05-2011 à 11:40:45    

+1 pour la refonte de la colonne ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed