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

แสดงสตริงย่อยใน MySQL หากสตริงนั้นมีความยาวน้อยกว่าที่กำหนดหรือแสดงข้อความที่กำหนดเองหากมีมากกว่านั้น


สำหรับสิ่งนี้ คุณสามารถใช้ฟังก์ชัน substring() ใน MySQL สำหรับเงื่อนไข ให้ใช้คำสั่ง MySQL CASE ให้เราสร้าง −

. ก่อน
mysql> สร้างตาราง DemoTable1402 -> ( -> EmployeeName varchar(40) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.62 วินาที)

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

mysql> แทรกลงในค่า DemoTable1402 ('Adam Smith'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า DemoTable1402 ('Chris Brown'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า DemoTable1402 ('David Miller'); Query OK, 1 แถวได้รับผลกระทบ (0.16 วินาที)mysql> แทรกลงในค่า DemoTable1402 ('Carol Taylor'); Query OK, 1 แถวได้รับผลกระทบ (0.10 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้ตัวเลือก -

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

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

<ก่อนหน้า>+-------------+| ชื่อพนักงาน |+-------------+| อดัม สมิธ || คริส บราวน์ || เดวิด มิลเลอร์ || Carol Taylor |+-------------+4 แถวในชุด (0.00 วินาที)

ต่อไปนี้คือข้อความค้นหาเพื่อแสดงสตริงย่อยใน MySQL หากสตริงนั้นมีความยาวน้อยกว่าที่กำหนด หรือแสดงข้อความที่กำหนดเองหากมีมากกว่านั้น -

mysql> เลือก *, กรณีที่ char_length(EmployeeName) <=11 แล้ว substring(EmployeeName,1,5) -> else 'EmployeeName is more than 11' -> end as Result -> from DemoTable1402;

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

<ก่อนหน้า>+--------------+----------------------------- ---+| ชื่อพนักงาน | ผลลัพธ์ |+-------------+-------------------------------- -+| อดัม สมิธ | อดัม || คริส บราวน์ | คริส || เดวิด มิลเลอร์ | พนักงานชื่อมากกว่า 11 || แครอล เทย์เลอร์ | EmployeeName มากกว่า 11 |+--------------------+--------------------------- -----+4 แถวในชุด (0.04 วินาที)