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

แบบสอบถาม MySQL เพื่อรับสตริงย่อย (เฉพาะสามอักขระสุดท้าย) จากสตริง?


สำหรับสิ่งนี้ คุณสามารถใช้เมธอด SUBSTR() ให้เราสร้างตารางก่อน:

mysql> สร้างตาราง DemoTable (รหัส int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, FirstName varchar(20)); ตกลง ตกลง 0 แถวได้รับผลกระทบ (1.31 วินาที)

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

mysql> แทรกลงในค่า DemoTable(FirstName) ('John');Query OK, 1 แถวได้รับผลกระทบ (0.14 วินาที)mysql> แทรกลงในค่า DemoTable(FirstName) ('Carol');Query OK, 1 แถวได้รับผลกระทบ ( 0.22 วินาที) mysql> แทรกลงในค่า DemoTable (FirstName) ('Robert'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า DemoTable (FirstName) ('Chris'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.16 วินาที) mysql> แทรกลงในค่า DemoTable (ชื่อจริง) ('David'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที)

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

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

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

<ก่อนหน้า>+----+-----------+| รหัส | ชื่อจริง |+----+-----------+| 1 | จอห์น || 2 | แครอล || 3 | โรเบิร์ต || 4 | คริส || 5 | David |+----+-----------+5 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อรับอักขระสามตัวสุดท้ายจากทุกสตริง:

mysql> เลือก substr(FirstName,-3) จาก DemoTable;

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

<ก่อนหน้า>+----------------------+| substr(FirstName,-3) |+----------------------+| โอ้น || โรล || เอิร์ท || ริส || vid |+----------------------+5 แถวในชุด (0.00 วินาที)