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

ค้นหาข้อความระหว่างตัวคั่นใน MySQL หรือไม่


คุณต้องใช้ LOCATE() ร่วมกับ SUBSTR() ไวยากรณ์ด้านล่างจะพบคำหลังตัวคั่น ที่นี่ตัวคั่นคือโคลอน (:) คุณสามารถใช้ตัวคั่นอื่นได้ขึ้นอยู่กับคุณ ไวยากรณ์มีดังนี้ −

SELECT SUBSTR(yourColumnName, LOCATE(':',yourColumnName)+1, (CHAR_LENGTH(yourColumnName) - LOCATE(':',REVERSE(yourColumnName)) - LOCATE(':',yourColumnName))) AS anyAliasNameFROM yourTableName;

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้ −

mysql> สร้างตาราง SearchTextBetweenDelimitersDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Words longtext, -> PRIMARY KEY(Id) -> );Query OK, 0 แถวได้รับผลกระทบ (0.67 วินาที)

ตอนนี้คุณสามารถแทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −

mysql> แทรกลงในค่า SearchTextBetweenDelimitersDemo(Words) ('Object:Oriented:Programming');Query OK, 1 แถวได้รับผลกระทบ (0.21 วินาที)mysql> แทรกลงใน SearchTextBetweenDelimitersDemo(Words) ค่า ('C++:Java:C#');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.21 วินาที)mysql> แทรกลงในค่า SearchTextBetweenDelimitersDemo (Words) ('SQLServer:MySQL:Oracle'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า SearchTextBetweenDelimitersDemo (Words) ( 'SQL SQLServer:MySQL:Oracle');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.18 วินาที)

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

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

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+----+-----------------------------+| รหัส | คำ |+----+-----------------------------+| 1 | Object:Oriented:การเขียนโปรแกรม || 2 | C++:Java:C# || 3 | SQLServer:MySQL:Oracle || 4 | SQL SQLServer:MySQL:Oracle |+---+-----------------------------+4 แถวในชุด (0.00 วินาที )

นี่คือคำค้นหาเพื่อค้นหาและแสดงคำระหว่างตัวคั่น -

mysql> SELECT -> SUBSTR(Words, -> LOCATE(':',Words)+1, -> (CHAR_LENGTH(Words) - LOCATE(':',REVERSE(Words)) - LOCATE(':' ,คำ))) AS Text -> จาก SearchTextBetweenDelimitersDemo;

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+----------+| ข้อความ |+----------+| มุ่งเน้น || ชวา || MySQL || MySQL |+----------+4 แถวในชุด (0.00 วินาที)