SELECT * FROM table ORDER BY string_length(column);
มีฟังก์ชั่น MySQL ในการทำสิ่งนี้ (แน่นอนแทนที่จะเป็นstring_length
)
SELECT * FROM table ORDER BY string_length(column);
มีฟังก์ชั่น MySQL ในการทำสิ่งนี้ (แน่นอนแทนที่จะเป็นstring_length
)
คำตอบ:
คุณกำลังค้นหาCHAR_LENGTH()
จำนวนอักขระในสตริง
สำหรับชุดอักขระแบบหลายไบต์LENGTH()
จะให้จำนวนไบต์ที่สตริงตรงกับคุณในขณะที่CHAR_LENGTH()
จะคืนค่าจำนวนอักขระ
CHAR_LENGTH
ถ้าฉันส่งคืนจำนวนอักขระ? , por CHAR_LENGTH(12)
2
ด้วยการดูเอกสาร MySQLสำหรับฟังก์ชั่นสตริงเรายังสามารถใช้CHAR_LENGTH()
และCHARACTER_LENGTH()
เช่นกัน
ฟังก์ชั่นที่ฉันใช้เพื่อค้นหาความยาวของสตริงนั้นlength
ใช้ดังนี้:
SELECT * FROM table ORDER BY length(column);
ฉันใช้ประโยคนี้เพื่อกรอง
SELECT table.field1, table.field2 FROM table WHERE length(field) > 10;
คุณสามารถเปลี่ยน 10 สำหรับหมายเลขอื่น ๆ ที่คุณต้องการกรอง
select * from *tablename* where 1 having length(*fieldname*)=*fieldlength*
ตัวอย่างถ้าคุณต้องการเลือกจากลูกค้ารายการที่มีชื่อสั้นกว่าตัวอักษร 2 ตัว
select * from customer where 1 **having length(name)<2**