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

แบบสอบถาม MySQL เพื่อเพิ่มจุดหากสตริงมีมากกว่า 10 คำ?


สำหรับสิ่งนี้ ให้ใช้คำสั่ง CASE ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable-> (-> Title text-> );เคียวรีตกลง 0 แถวได้รับผลกระทบ (0.61 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable ('ฉันชื่อ John และนี่คือบทช่วยสอนแรกของฉันใน MySQL'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที)mysql> แทรกลงในค่า DemoTable ('นี่คือ Carol และฉันทำงาน บน MongoDB');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.19 วินาที)

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

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

ผลลัพธ์

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

<ก่อน>+--------------------------------------------- ----+| ชื่อเรื่อง |+---------------------------------------------------------- ---------+| ฉันชื่อจอห์น และนี่คือบทช่วยสอนแรกของฉันเกี่ยวกับ MySQL || นี่คือแครอล และฉันทำงานบน MongoDB |+------------------------------------------------------ ----------------+2 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อเพิ่มจุดถ้าสตริงมีมากกว่า 10 คำ -

mysql> เลือก (กรณีที่ substring_index(tbl.Title, ' ', 10) =tbl.Title จากนั้น tbl.Title-> else concat(substring_index(tbl.Title, ' ', 10), '.... ................')-> จบ) AS AddDots-> จาก DemoTable tbl;

ผลลัพธ์

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

<ก่อน>+--------------------------------------------- ------------------------------------+| AddDots |+--------------------------------------------- --------------------+| ฉันชื่อจอห์น และนี่คือการกวดวิชาแรกของฉัน.................... || นี่คือแครอล และฉันทำงานบน MongoDB |+------------------------------------------------------ ----------------------------+2 แถวในชุด (0.00 วินาที)