Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

MySQL ค้นหาว่ามากกว่าหนึ่งสตริงมีอักขระพิเศษหรือไม่


หากต้องการค้นหาว่าสตริงมีอักขระพิเศษหรือไม่ คุณสามารถใช้ REGEXP ต่อไปนี้เป็นไวยากรณ์ -

เลือก * จาก yourTableNamewhere yourColumnName REGEXP '[^a-zA-Z0-9]';

ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง specialCharactersDemo -> ( -> StudentId varchar(100) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.58 วินาที)

แทรกระเบียนในตารางโดยใช้คำสั่งแทรก ต่อไปนี้เป็นแบบสอบถาม -

mysql> แทรกลงในค่า specialCharactersDemo ('STU_1234'); เคียวรีตกลง, 1 แถวได้รับผลกระทบ (0.15 วินาที)mysql> แทรกลงในค่า specialCharactersDemo ('STU567'); เคียวรีตกลง, 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรก ลงในค่า specialCharactersDemo('STU#1234');Query OK, 1 แถวได้รับผลกระทบ (0.13 วินาที)mysql> แทรกลงในค่า specialCharactersDemo ('STU897$'); Query OK, 1 แถวได้รับผลกระทบ (0.18 วินาที) mysql> แทรกลงในค่า specialCharactersDemo ('STU999');ตกลง สืบค้น 1 แถวได้รับผลกระทบ (0.43 วินาที)mysql> แทรกลงในค่า specialCharactersDemo ('STU1010'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที

ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

mysql> เลือก *จาก specialCharactersDemo;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+-----------+| รหัสนักศึกษา |+-----------+| STU_1234 || STU567 || STU#1234 || STU897$ || STU999 || STU1010 |+-----------+6 แถวในชุด (0.00 วินาที)

นี่คือข้อความค้นหาเพื่อค้นหาว่าสตริงมีอักขระพิเศษหรือไม่ -

mysql> เลือก *จาก specialCharactersDemo -> โดยที่ StudentId REGEXP '[^a-zA-Z0-9]';

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+-----------+| รหัสนักศึกษา |+-----------+| STU_1234 || STU#1234 || STU897$ |+-----------+3 แถวในชุด (0.02 วินาที)

คุณสามารถใช้ไวยากรณ์อื่นสำหรับผลลัพธ์ข้างต้น ต่อไปนี้เป็นแบบสอบถาม -

mysql> เลือก *จาก specialCharactersDemo -> โดยที่ StudentId REGEXP'[^[:alnum:]]';

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+-----------+| รหัสนักศึกษา |+-----------+| STU_1234 || STU#1234 || STU897$ |+-----------+3 แถวในชุด (0.05 วินาที)