ไวยากรณ์ตัดท้าย 2 ตัวอักษร
ใช้ SUBSTRING() ร่วมกับ CHAR_LENGTH() คำนวณตำแหน่งสิ้นสุด:
SELECT column_name,
SUBSTRING(column_name, 1, CHAR_LENGTH(column_name) - 2) AS stripped
FROM your_table;
ตัวอย่างการใช้งาน
สร้างตารางและข้อมูล
CREATE TABLE LastTwoCharacters (Words VARCHAR(200));
INSERT INTO LastTwoCharacters VALUES ('Hellooo'), ('Worldsss'), ('Johnson');
ข้อมูลต้นฉบับ
+----------+
| Words |
+----------+
| Hellooo |
| Worldsss |
| Johnson |
+----------+
คำสั่งตัดท้าย 2 ตัวอักษร
SELECT Words,
SUBSTRING(Words, 1, CHAR_LENGTH(Words) - 2) AS AfterStripLastTwoChar
FROM LastTwoCharacters;
ผลลัพธ์
+----------+-----------------------+
| Words | AfterStripLastTwoChar |
+----------+-----------------------+
| Hellooo | Hello |
| Worldsss | Worlds |
| Johnson | Johns |
+----------+-----------------------+
ฟังก์ชันที่ใช้
CHAR_LENGTH(str)- ความยาวในหน่วยตัวอักษร (Characters)LENGTH(str)- ความยาวในหน่วยไบต์ (Bytes) - ต่างกันสำหรับ UTF-8SUBSTRING(str, start, length)- ดึงส่วนย่อย เริ่มที่ตำแหน่ง start (1-based)
กรณีข้อมูลสั้นกว่า 2 ตัวอักษร
SELECT SUBSTRING('A', 1, CHAR_LENGTH('A') - 2); -- ผลลัพธ์: '' (Empty String)
SELECT SUBSTRING('AB', 1, CHAR_LENGTH('AB') - 2); -- ผลลัพธ์: '' (Empty String)
ป้องกันค่า Empty String (คืนค่าเดิมถ้าสั้นเกินไป)
SELECT
Words,
CASE
WHEN CHAR_LENGTH(Words) <= 2 THEN Words
ELSE SUBSTRING(Words, 1, CHAR_LENGTH(Words) - 2)
END AS safe_stripped
FROM LastTwoCharacters;