SQL – COMMANDE un mélange de nombres et de mots

J'ai une database SQL avec appeler à travers un file php. La colonne peut contenir des nombres et des mots. Par exemple, il pourrait contenir:

1 4 clowns 12 46 

Naturellement, ORDER BY returnne:

 1 12 4 46 clowns 

mais j'aimerais qu'il sorte comment sortinger les nombres entiers avec les nombres:

 1 4 12 46 clowns 

Est-il possible de faire cela?

ajoutez certaines nouvelles colonnes pour résoudre ce problème, commandz d'abord s'il s'agit ou non d'un nombre, puis d'une valeur numérique, et enfin par ordre alphabétique par la valeur du mot.

Dans MSSQL, vous avez access à la fonction isnumeric.
Dans ORACLE, vous pouvez créer une fonction personnalisée à l'aide de CE
Dans MYSQL, vous pouvez créer une fonction personnalisée en utilisant CET

 select your_column from( select *, isnumeric(your_column) as ISNUMBER, CASE WHEN ISNUMERIC(your_column) = 1 THEN CAST(your_column AS INT) ELSE null END as NUMBERVALUE, case when isnumeric(your_column) = 1 then null else your_column end as TEXTVALUE ) order by isnumber desc, numbervalue asc, textvalue asc ...