บางครั้งเราต้องการเพียงส่วนหนึ่งของค่าสตริงในข้อมูลของเราเพื่อแสดง มีฟังก์ชันสตริงที่เราใช้เรียกว่า SUBSTR()
. นอกจากนี้ยังมีฟังก์ชันเทียบเท่าที่เรียกว่า SUBSTRING()
. ในบทความนี้ เราจะพูดถึงการใช้ฟังก์ชันสตริงย่อยนี้ใน SQL
การเตรียมตัว
นี่คือ SQL Fiddle ที่ใช้ในบทความนี้ สคีมามีดังนี้:
create table names ( id INT, name VARCHAR(50), age INT, gender VARCHAR(50) ); insert into names (id, name, age, gender) values (1, 'Bret Starkings', 55, 'M'); insert into names (id, name, age, gender) values (2, 'Bobbye Eyckel', 76, 'F'); insert into names (id, name, age, gender) values (3, 'Barbie Veschi', 50, 'F'); insert into names (id, name, age, gender) values (4, 'Electra Blazewicz', 47, 'F');
เราใช้ SUBSTR()
ฟังก์ชันเพื่อรับส่วนของคอลัมน์ชื่อกลับคืนมา ไวยากรณ์ของฟังก์ชันมีดังนี้:
SUBSTR(column_name, position, num_letters);
ฟังก์ชันใช้พารามิเตอร์สามตัว:คอลัมน์หรือสตริงที่เราต้องการอนุมานจากสตริงย่อย ตำแหน่งเริ่มต้นแบบอิงตามเดียวในสตริง (การจัดทำดัชนีที่เริ่มต้นที่ 1 แทนที่จะเป็น 0) และจำนวนความยาวของอักขระ ถ้าเราทำเช่นนี้ในคอลัมน์ชื่อคำสั่ง SQL ออกมาเป็น:
SELECT name, SUBSTR(name, 1, 4) AS NAME_SUBSTRING, age, gender FROM names;
และรหัสผลลัพธ์ใน:
ชื่อ | NAME_SUBSTRING | อายุ | เพศ |
เบร็ท สตาร์คิงส์ | เบร็ท | 55 | ม |
บ็อบบี้ เอคเคล | บ๊อบบี้ | 76 | F |
บาร์บี้ เวสชี่ | หนาม | 50 | F |
Electra Blazewicz | ไฟฟ้า | 47 | F |
เอสเทรลลา บอร์ลีซ | เอสเทร | 57 | F |
พารามิเตอร์ที่สามในฟังก์ชันนี้สามารถละทิ้งได้หากคุณเลือก:
SELECT name, SUBSTR(name, 4) AS NAME_SUBSTRING, age, gender FROM names;
ชื่อ | NAME_SUBSTRING | อายุ | เพศ |
เบร็ท สตาร์คิงส์ | t สตาร์คิงส์ | 55 | ม |
บ็อบบี้ เอคเคล | ลาก่อน Eyckel | 76 | F |
บาร์บี้ เวสชี่ | บี้ เวสชี่ | 50 | F |
Electra Blazewicz | ctra Blazewicz | 47 | F |
เอสเทรลลา บอร์ลีซ | เรลล่า บอร์ลีซ | 57 | F |
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
คุณยังสามารถใช้ค่าลบสำหรับตำแหน่ง:
SELECT name, SUBSTR(name, -4) AS NAME_SUBSTRING, age, gender FROM names;
ชื่อ | NAME_SUBSTRING | อายุ | เพศ |
เบร็ท สตาร์คิงส์ | อิ้ง | 55 | ม |
บ็อบบี้ เอคเคล | คเคล | 76 | F |
บาร์บี้ เวสชี่ | ชิ | 50 | F |
Electra Blazewicz | วิซ | 47 | F |
เอสเทรลลา บอร์ลีซ | อีซี่ | 57 | F |
เช่นเดียวกับฟังก์ชัน SQL เหล่านี้ ไวยากรณ์อาจแตกต่างกันเล็กน้อยขึ้นอยู่กับชนิดของฐานข้อมูลที่คุณใช้ แนวคิดทั่วไปก็เหมือนกัน เพียงจำไว้ว่าการจัดทำดัชนีเริ่มต้นที่ 1 แทนที่จะเป็น 0 สำหรับพารามิเตอร์ตำแหน่ง และคุณจะสามารถสร้างการสืบค้นของคุณได้ดีเยี่ยม