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

ฟังก์ชันย่อยของ SQL ()

บางครั้งเราต้องการเพียงส่วนหนึ่งของค่าสตริงในข้อมูลของเราเพื่อแสดง มีฟังก์ชันสตริงที่เราใช้เรียกว่า 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 สำหรับพารามิเตอร์ตำแหน่ง และคุณจะสามารถสร้างการสืบค้นของคุณได้ดีเยี่ยม


No