L’affichage brut des résultats d’une requête SELECT
étant un peu indigeste,
on peut avoir envie de l’améliorer.
On peut déjà utiliser les directives :
.mode column
.width 40 20 10 10 20
Cela permet d’aligner les colonnes, et d’en préciser la largeur.
Et pour afficher le titre des colonnes, on ajoute :
.header on
Si on enchaîne plusieurs requêtes, on peut aussi utiliser .print
pour afficher des messages intermédiaires :
.print "\nRésultats :\n"
A partir de la version 3.8.3, la fonction printf a été ajoutée à sqlite, ce qui est bien pratique à utiliser dans la première partie du SELECT:
SELECT printf("%s %s a %d ans", Prenom, Nom, Age)
FROM gens;
Si on a une version antérieur,
on peut quand même utiliser la concaténation (||
),
et d’autres fonctions
de manipulation de chaîne
comme substr
ou replace.
On peut aussi utiliser des expressions
comme le CASE ici :
SELECT Prenom, Nom,
CASE WHEN Age >= 18 THEN "majeur"
ELSE "mineur:" || Age
END AS Majorité
FROM gens;
On note qu’il y a une autre forme d’expression CASE
pour tester des égalités :
CASE val WHEN v1 THEN r1 WHEN v2 THEN r2 ELSE r3 END
Par ailleurs, la partie AS
n’est pas obligatoire,
mais elle permet de nommer la colonne (utilisé dans le titre par exemple).
Pour plus de libertés dans l’affichage, surtout lorsqu’il ne s’agit pas d’afficher des colonnes, on utilise :
.mode list
.separator ""
On peut alors faire par exemple :
SELECT "Proportion de gens majeurs : ",
SUM (Age >= 18), "/", COUNT(*)
FROM gens;
Voir aussi :
- Afficher un pourcentage dans une page HTML
- VNC : Virtual Network Computing
- Git : déménagement d'un dépôt
- Quelques liens au sujet de l'analyse statique
- Ocaml: mon principal langage de développement
- Disque dur externe
- Les profiles dans Firefox
- Cryptographie et mail sous Android
- Quelques liens au sujet du C
- Git rebase : pour diviser un commit