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

จะลบช่องว่างสองเท่าหรือมากกว่าออกจากสตริงใน MySQL ได้อย่างไร


คุณสามารถสร้างฟังก์ชันเพื่อลบช่องว่างสองช่องหรือมากกว่าออกจากสตริงได้ ไวยากรณ์มีดังนี้:

DELIMITER //create function yourFunctionName(paramter1,...N) คืนค่า datatype;begin//your statement.end;//DELIMITER;

วิธีสร้างฟังก์ชันมีดังนี้

mysql> ตัวคั่น //mysql> สร้างฟังก์ชัน function_DeleteSpaces(value varchar(200)) คืนค่า varchar(200) -> start -> set value =trim(value); -> ในขณะที่ instr(ค่า ' ')> 0 ทำ -> ตั้งค่า =แทนที่ (ค่า ' ', ' '); -> สิ้นสุดในขณะที่; -> คืนค่า; -> สิ้นสุด; -> //แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.20 วินาที) mysql> ตัวคั่น;

ตอนนี้คุณสามารถเรียกใช้ฟังก์ชันโดยใช้คำสั่ง select ไวยากรณ์มีดังนี้:

SELECT yourFunctionName();

เรียกใช้ฟังก์ชันข้างต้นโดยใช้คำสั่ง select ฟังก์ชันด้านบนลบช่องว่างออกจากสตริง:

mysql> select function_DeleteSpaces(' John Smith ');

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

<ก่อน>+--------------------------------------------- ----+| function_DeleteSpaces(' John Smith ') |+----------------------------------------- ---------+| จอห์น สมิธ |+--------------------------------------------- ----+1 แถวในชุด (0.02 วินาที)

ฟังก์ชันข้างต้นจะลบช่องว่างมากกว่าหนึ่งช่อง เรามาดูตัวอย่างอื่นด้วยค่าใหม่ในพารามิเตอร์ของฟังก์ชัน:

mysql> select function_DeleteSpaces(' John Smith 123 ');

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

<ก่อน>+--------------------------------------------- ----+| function_DeleteSpaces(' John Smith 123 ') |+------------------------------------------------------ ------------------|| จอห์น สมิธ 123 |+--------------------------------------------- ------------+1 แถวในชุด (0.00 วินาที)