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 に答える