Comment sélectionner uniquement les données numériques à partir de mysql?
N'mysql dispose d'une fonction comme is_num (), qui peut me permettre de déterminer les données sont numériques ou pas?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez créer une fonction définie par l'utilisateur qui correspond à la valeur par rapport à une expression régulière:
Source: MySQL Forums :: Microsoft SQL Server :: IsNumeric() de la clause dans MySQL?
Truthy Tests:
Falsy Tests:
Dans mon cas, j'ai juste besoin de vérifier si les données ont été >= 0 et pas de char, c'est peut-être utile pour vous aussi:
Si vous souhaitez sélectionner uniquement les caractères numériques à partir de votre chaîne, essayez d'utiliser ceci:
L'utiliser en appelant le NumericOnly fonction comme ceci:
Retourne: "12"
Retourne: "987"
(BTW, j'ai écrit un post à ce sujet ici)
Il suffit de convertir vos données de façon explicite à un nombre DÉCIMAL à l'aide de ou signé/non SIGNÉ, et d'utiliser STRCMP pour comparer à la valeur de données d'origine. Si STRCMP renvoie 0 (égalité), alors vous savez que vous avez un certain nombre. Sinon, il ne l'est pas.
Voici un exemple qui n'existe pas de décimales dans vos données numériques, de sorte que nous pouvons exprimer qu'en DÉCIMAL.
Cette requête, sélectionnez toutes les lignes qui contiennent des données numériques dans la is_it_a_number champ.
La syntaxe simple pour IsNumeric à partir de SQL pour MYSQL est
sql:
Mysql
Mille fois plus rapide.