2017-09-21 11 views
0

のレコードなしどのようvalue列が数字手紙が、ない数字だけが含まれている行を持つI SELECTすべてのレコード?のMySQL REGEXP文字と数字だけの数字

のは、私は、次のMySQLのテーブルがあるとしましょう:

+----+-------+ 
| id | value | 
+----+-------+ 
| 1 | a1 | 
+----+-------+ 
| 2 | aa | 
+----+-------+ 
| 3 | 22 | 
+----+-------+ 
| 4 | 3t | 
+----+-------+ 

希望のid行が返さ1、2及び4になります。それは数だけを含んでいるので3ではない。

答えて

0

これは、正規表現を必要としないトリックでした。

SELECT * FROM table WHERE (value/1)='NULL'; 
+1

号 ' 'NULL''、数として扱う場合には、 '' 0が必要だと思います。 –

0

使用REGEXP

SELECT * FROM [table] WHERE [value] REGEXP '[A-Za-z]' AND [value] IS NOT NULL 
+0

ああ、私は正規表現に余分なものを投げているところで私が見た例を仮定します。私はこれを試して、それは技術的に動作しますが、私が使っているこの奇妙なテーブルのいくつかのレコードは、私のバージョンと比較して選択しなかったちょうど '0'の値を持っています。誰かが必要としているように技術的に主観的なので、彼らには選択肢があります! :-) – John

1

value/1トリックは問題を抱えている - それだけvalueの開始時に数字を見ます。

は、私はあなたが

WHERE `value` REGEXP '[[:alpha:]]' 
    AND `value` REGEXP '[[:digit:]]' 
関連する問題