6
J'ai la requête suivante dans SQLite:Comparer les chaînes sous forme de nombres dans SQLite3
SELECT * FROM t1 ORDER BY t1.field
Où t1.field
est un nombre contenant colonne de texte. Est-il possible de forcer SQLite à considérer les valeurs de t1.field comme des nombres au lieu de chaînes (sans faire ALTER TABLE
)? À l'heure actuelle, le tri est une chaîne pure, donc 10 va avant 2.
Merci.
merci cela m'a aidé, par intérêt sur quelle plate-forme que vous utilisez SQLite? –
SELECT * FROM t1 ORDER BY CAST (t1.field AS INTEGER) –
Vous pouvez même trier les données mélangées. Si vous utilisez 'ORDER BY t1.field + 0, t1.field', cela triera d'abord tous les nombres, puis toutes les chaînes qui n'auront pas pu être converties en un nombre ->' ["non", "oui", "1", "5", "10", 50 "]' – relet