2017-09-21 48 views
0

記錄我如何SELECT與該value列包含數字字母,但不只是行號的所有記錄?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:]]'