0

我想删除可能使用假名注册的名称。

由于开发人员忘记对表单注册进行验证。现在我想删除假名。

为了检查这个名字是否是假的,我正在检查这个名字是否包含任何数字?

这是我写的查询,但它不起作用......

SELECT registration.regi_id, student.first_name, 
student.cont_no, student.email_id, 
registration.college, 
registration.event_name, 
registration.accomodation
FROM student, registration
WHERE student.stud_id = registration.stud_id
    AND student.first_name NOT RLIKE '%[0-9]%'

如何解决这个问题?

对不起,我的语言问题,

PS “first_name”字段中有很多名字,比如“asdfasdf12323”,我不希望这种名字显示在列表中。

4

2 回答 2

0

您的列也可能包含字母数字字符。您需要同时过滤数字和字母数字字符

对于字母数字字符,请尝试 REGEXP '^[A-Za-z0-9]+$'

对于数字尝试 REGEXP '[0-9]'

于 2012-09-04T06:23:33.180 回答
0

就涉及到正则表达式而言,您的表达式只是在寻找一个数字。此外,我相信您的 'NOT RLIKE' 没有使用正则表达式,而是对文字 '[0-9]' 进行基本字符串搜索。MySql 支持正则表达式,您的最后一个子句如下所示:AND student.first_name NOT REGEXP '[0-9]*'

于 2012-09-04T06:24:31.783 回答