MySQL - Sélectionnez uniquement les valeurs numériques de colonne de type varchar
Considérons le tableau suivant :
create table mixedvalues (value varchar(50));
insert into mixedvalues values ('100');
insert into mixedvalues values ('ABC100');
insert into mixedvalues values ('200');
insert into mixedvalues values ('ABC200');
insert into mixedvalues values ('300');
insert into mixedvalues values ('ABC300');
insert into mixedvalues values ('400');
insert into mixedvalues values ('ABC400');
insert into mixedvalues values ('500');
insert into mixedvalues values ('ABC500');
Comment puis-je écrire une instruction select ne renvoie la numérique des valeurs comme
100
200
300
400
500
SQLFiddle
OriginalL'auteur Wes | 2014-03-19
Vous devez vous connecter pour publier un commentaire.
OriginalL'auteur Strawberry
Proximité :
SQLFiddle
Cela repose sur le fait que les lettres n'apparaissent jamais après les chiffres
Ok. Merci. J'ai remarqué qu'il échoue pour quelque chose comme 600ABC.
Ce n'est pas appropriée et pourrait créer des problèmes plus tard.
Cette réponse est incorrecte. '1ABCABC" sera renvoyée à l'aide de cette requête qui n'est clairement PAS une valeur numérique.
OriginalL'auteur Patrick Q
Référence: Détecter si la valeur est le numéro de MySQL
OriginalL'auteur Slowcoder
Vous pouvez filtrer votre résultat en utilisant la
ISNUMERIC
fonction:La Question était pour mysql.
OriginalL'auteur user5577526