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

ส่งคืนชื่อที่คล้ายกันจากคอลัมน์ต่าง ๆ ด้วยการจัดสรรพื้นที่ที่แตกต่างกันใน MySQL หรือไม่


สำหรับสิ่งนี้ ให้ใช้ LTRIM() และ RTRIM() เนื่องจากชื่อคล้ายกัน แต่มีการจัดสรรพื้นที่ด้านซ้ายและขวาต่างกัน ตัวอย่างเช่น “ จอห์น “ และ “จอห์น”

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

mysql> สร้างตาราง DemoTable614 (EnterName varchar(100), ReennterName varchar(100)); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.97 วินาที)

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

mysql> แทรกลงในค่า DemoTable614 (' John ','John'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.19 วินาที) mysql> ลงในค่า DemoTable614 ('Carol ','Bob'); แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.18 วินาที) mysql> แทรกลงในค่า DemoTable614 ('David ','David'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.23 วินาที)

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

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

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

<ก่อนหน้า>+------------+--------------+| ใส่ชื่อ | ReennterName |+--------------------+--------------+| จอห์น | จอห์น || แครอล | บ๊อบ || เดวิด | David |+------------+-------------+3 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อส่งคืนชื่อที่คล้ายกันจากคอลัมน์ต่าง ๆ ด้วยการจัดสรรพื้นที่ที่แตกต่างกัน -

mysql> เลือก *จาก DemoTable614 โดยที่ LTRIM(RTRIM(EnterName)) =LTRIM(RTRIM(ReennterName));

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

<ก่อนหน้า>+------------+--------------+| ใส่ชื่อ | ReennterName |+--------------------+--------------+| จอห์น | จอห์น || เดวิด | David |+------------+-------------+2 แถวในชุด (0.00 วินาที)