ฟังก์ชัน SQL String: Overview
เผยแพร่แล้ว: 2022-05-24ฟังก์ชันที่รับค่าสตริงเป็นอินพุตโดยไม่คำนึงถึงชนิดข้อมูลของค่าที่ส่งคืนนั้นเรียกว่าฟังก์ชันสตริง มีฟังก์ชันสตริง SQL ในตัวที่หลากหลายใน SQL Server เพื่อให้นักพัฒนาใช้งานได้ บทความนี้จะนำเสนอรายการฟังก์ชันสตริง SQL ที่ใช้บ่อยที่สุด ซึ่งทำให้การเขียนโปรแกรมใน SQL ง่ายขึ้น
ฟังก์ชัน SQL String ที่ใช้กันทั่วไป
ASCII
ฟังก์ชันสตริง SQL แรกที่เราจะดูคือ ASCII() ฟังก์ชันสเกลาร์นี้ทำงานโดยยอมรับสตริงที่กำหนดเป็นอินพุตและส่งคืนโค้ด ASCII ที่สอดคล้องกันสำหรับอักขระตัวแรกในสตริงนั้น การใช้ฟังก์ชันสตริง SQL นี้ เราสามารถหาค่าตัวเลขของอักขระที่อยู่ซ้ายสุดของสตริงได้ ในกรณีที่สตริงว่างเปล่า จะคืนค่า 0 หากสตริงเป็น null ฟังก์ชันจะคืนค่า NULL เป็นเอาต์พุต
ภายใต้ฟังก์ชัน ASCII สามารถระบุอักขระที่มีค่าตัวเลขตั้งแต่ 0 ถึง 255 ได้
CHARLENGTH()
เมื่อใช้ฟังก์ชันนี้ คุณจะพบความยาวของสตริงซึ่งคำนวณเป็นอักขระได้ อักขระแบบหลายไบต์จะถือว่าเป็นอักขระตัวเดียว นี่หมายความว่าฟังก์ชัน LENGTH() แสดงเป็นเอาต์พุต 20 สำหรับสตริงที่มีอักขระสองไบต์สิบตัว ในขณะที่ CHAR LENGTH() ส่งคืน 10
CONCAT
CONCAT() เป็นฟังก์ชันสตริง SQL แบบสเกลาร์อีกฟังก์ชันหนึ่งที่รับหลายสตริงเป็นอินพุตและส่งกลับเป็นเอาต์พุตเป็นสตริงเดียวหลังจากเชื่อมต่อทั้งหมดเข้าด้วยกัน
อาจมีข้อโต้แย้งหนึ่งข้อหรือหลายข้อ มีอินพุตสูงสุด 254 รายการที่อนุญาตสำหรับฟังก์ชันนี้ ผลลัพธ์ของ CONCAT SQL จะเป็นสตริงที่ไม่ใช่ไบนารี หากพารามิเตอร์อินพุตทั้งหมดเป็นสตริงที่ไม่ใช่ไบนารี อย่างไรก็ตาม ผลลัพธ์จะเป็นสตริงไบนารี หากพารามิเตอร์ใดเป็นสตริงไบนารี หากคุณไม่ต้องการให้พารามิเตอร์ป้อนตัวเลขส่งคืนคู่ข้อความไบนารี
CONCAT_WS()
CONCAT WS() เป็นรูปแบบพิเศษของ CONCAT ที่ย่อมาจาก Concatenate With Separator () มันเหมือนกับฟังก์ชัน CONCAT() ยกเว้นว่ามันช่วยให้คุณกำหนดตัวคั่นระหว่างข้อความที่ต่อกัน อาจใช้เพื่อสร้างค่าที่คั่นด้วยเครื่องหมายจุลภาค อาร์กิวเมนต์แรกทำหน้าที่เป็นตัวแบ่งระหว่างอาร์กิวเมนต์อื่นๆ
ระหว่างสตริงที่จะต่อกัน ตัวคั่นจะถูกเพิ่ม เช่นเดียวกับอินพุตที่เหลือ ตัวคั่นสามารถเป็นสตริงได้ คำตอบคือ NULL ถ้าตัวคั่นเป็น NULL
TRIM
ฟังก์ชัน TRIM() จะลบคำนำหน้าและส่วนต่อท้ายทั้งหมดออกจากสตริง ทั้งสองจะถือว่าหากไม่มีการระบุตัวระบุ BOTH, LEADING หรือ TRAILING ช่องว่างจะถูกตัดออกหากไม่มีการกล่าวถึงเป็นอย่างอื่น ต่อไปนี้คือตัวอย่างเพื่อแสดงฟังก์ชัน TRIM:
SQL> เลือก TRIM(' แถบ ');
+———————————————————+
| TRIM(' หมา ') |
+———————————————————+
| หมา |
+———————————————————+
1 แถวในชุด (0.00 วินาที)
SQL> เลือก TRIM (นำ 'r' จาก 'rrrrrdogrrrrr');
+———————————————————+
| TRIM(นำ 'r' จาก rrrrr'dogrrrrr') |
+———————————————————+
| dogrrrrrr |
+———————————————————+
1 แถวในชุด (0.00 วินาที)
SQL> เลือก TRIM (ทั้ง 'rx' จาก 'rrrrrdogrrrrr'');
+———————————————————+
| TRIM(ทั้ง 'r' จาก 'rrrrrdogrrrrr') |
+———————————————————+
| หมา |
+———————————————————+
1 แถวในชุด (0.00 วินาที)
SQL> เลือก TRIM (ต่อท้าย 'xyz' จาก 'dogrrrrxyz');
+———————————————————+
| TRIM(ลาก 'xyz' จาก 'dogrrrrrrxyz') |
+———————————————————+
| dogrrrrrr |
+———————————————————+
1 แถวในชุด (0.00 วินาที)
ซาวด์เอ็กซ์()
SOUNDEX() เป็นฟังก์ชันสเกลาร์หนึ่งมิติ SOUNDEX() ส่วนใหญ่จะใช้เพื่อจับคู่สตริงและเชื่อมโยงแถวเข้าด้วยกัน สตริง Soundex ควรเหมือนกันสำหรับสองสตริงที่เสียงเกือบเหมือนกัน ใช้สตริงเป็นอินพุตและสร้างสตริงที่มีอักขระสี่ตัวตามวิธีการออกเสียงสตริงนั้น
อย่างไรก็ตาม ฟังก์ชัน SOUNDEX() จะส่งกลับสตริงที่มีความยาวค่อนข้างยาวและเป็นแบบสุ่ม ในการรับสตริง Soundex ทั่วไป ให้ใช้ SUBSTRING() กับผลลัพธ์ อักขระตัวแรกของโค้ดจะเปลี่ยนเป็นตัวพิมพ์ใหญ่จากอักขระตัวแรกของสตริงอินพุต
อักขระที่เหลือของรหัสคือจำนวนเต็มที่แทนตัวอักษรของนิพจน์ A, O, U, E, I, Y, H, W) เป็นอักษรตัวเดียวที่ไม่ถูกละเว้น (เว้นแต่จะเป็นอักษรตัวแรก) ศูนย์เพิ่มเติมจะถูกผนวกเข้ากับผลลัพธ์ที่ส่งคืนหากความยาวสตริงน้อยกว่า 4 นอกช่วง AZ ตัวอักษรสากลทั้งหมดถือเป็นสระ
ล่าง/บน
ฟังก์ชันสตริง SQL ทั่วไปสำหรับการเปลี่ยนตัวพิมพ์ของสตริงอินพุตคือฟังก์ชัน LOWER() และ UPPER() ฟังก์ชัน LOWER() และ UPPER() ใช้เพื่อแก้ไขตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ตามลำดับ
ซ้ายขวา
ฟังก์ชันสตริง SQL ที่ใช้บ่อยที่สุดอย่างหนึ่งคือฟังก์ชัน LEFT() และ RIGHT() ใช้เพื่อแยกอักขระจำนวนหนึ่งจากด้านซ้ายหรือด้านขวาของสตริง
อ่านบทความยอดนิยมของเราเกี่ยวกับการพัฒนาซอฟต์แวร์
วิธีการใช้ Data Abstraction ใน Java? | Inner Class ใน Java คืออะไร? | ตัวระบุ Java: คำจำกัดความ ไวยากรณ์ และตัวอย่าง |
ทำความเข้าใจการห่อหุ้มใน OOPS ด้วยตัวอย่าง | อาร์กิวเมนต์บรรทัดคำสั่งใน C อธิบาย | คุณสมบัติและลักษณะเด่น 10 อันดับแรกของคลาวด์คอมพิวติ้งในปี 2022 |
ความหลากหลายใน Java: แนวคิด ประเภท ลักษณะและตัวอย่าง | แพ็คเกจใน Java และวิธีใช้งาน | บทช่วยสอน Git สำหรับผู้เริ่มต้น: เรียนรู้ Git ตั้งแต่เริ่มต้น |
SUBSTRING_INDEX()
ฟังก์ชันสตริงย่อยของ SQL ส่งกลับสตริงย่อยจากสตริงก่อนที่จะนับการเกิดขึ้นของตัวคั่น ขณะนับจากด้านซ้าย ทุกอย่างทางด้านซ้ายของตัวคั่นสุดท้ายจะถูกส่งคืนหากการนับเป็นค่าบวก ขณะนับจากด้านขวา ทุกอย่างทางด้านขวาของตัวคั่นสุดท้ายจะถูกส่งคืนหากการนับเป็นค่าลบ เมื่อมองหาเดลิม SUBSTRING INDEX() จะใช้การจับคู่แบบตรงตามตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
SQL > SELECT SUBSTRING ( 'พันธุกรรม',5);
+———————————————————+
| SSUBSTRING('พันธุกรรม',5) |
+———————————————————+
| ติงต๊อง |
+———————————————————+
1 แถวในชุด (0.00 วินาที)
SQL> SELECT SUBSTRING ('พอใจกับ' barbarb 4);
+———————————————————+
| SUBSTRING('ทางพันธุกรรม' จาก 4) |
+———————————————————+
| จรรยาบรรณ |
+———————————————————+
1 แถวในชุด (0.00 วินาที)
SQL> SELECT SUBSTRING('พันธุกรรม',5,6);
+———————————————————+
| SUBSTRING('ทางพันธุกรรม',5,6) |
+———————————————————+
| โทร |
+———————————————————+
1 แถวในชุด (0.00 วินาที)
SUBSTRING_INDEX(str,คั่น,นับ)
ส่งคืนสตริงย่อยจาก "str" ก่อนการนับจำนวนเดลิม หากการนับเป็นค่าบวก ทุกอย่างทางด้านซ้ายของตัวคั่นสุดท้าย (นับจากด้านซ้าย) จะถูกส่งคืน หากการนับเป็นค่าลบ ทุกอย่างทางด้านขวาของตัวคั่นสุดท้าย (นับจากด้านขวา) จะถูกส่งคืน SUBSTRING_INDEX() ทำการจับคู่แบบตรงตามตัวพิมพ์เล็กและตัวพิมพ์ใหญ่เมื่อค้นหาเดลิม
SQL> เลือก SUBSTRING_INDEX('www.mysql.com', '.', 2);
+———————————————————+
| SUBSTRING_INDEX('www.mysql.com', '.', 2) |
+———————————————————+
| www.mysql |
+———————————————————+
1 แถวในชุด (0.00 วินาที)
ตารางต่อไปนี้แสดงภาพรวมของฟังก์ชันสตริง
เลขที่ Sl | ฟังก์ชันสตริง | คำอธิบายโดยย่อ |
1 | ASCII() | ส่งกลับค่าตัวเลขของอักขระซ้ายสุด |
2 | BIT_LENGTH() | ความยาวของอาร์กิวเมนต์ถูกส่งกลับ (เป็นบิต) |
3 | CHAR_LENGTH() | ส่งกลับจำนวนอักขระที่มีอยู่ในสตริง |
4 | ถังขยะ() | ส่งกลับการแสดงสตริงของอาร์กิวเมนต์ |
5 | ชาร์() | ส่งกลับอักขระสำหรับจำนวนเต็มที่ส่งผ่าน |
7 | CONCAT_WS() | ส่งคืน concatenate ด้วยตัวคั่น |
8 | คอนแค็ท() | ส่งกลับสตริงที่ต่อกัน |
9 | CONV() | แปลงตัวเลขระหว่างฐานตัวเลขต่างๆ |
10 | ELT() | ส่งกลับสตริงที่หมายเลขดัชนี |
11 | EXPORT_SET() | ส่งกลับสตริงในลักษณะที่สำหรับแต่ละบิตที่ตั้งค่าในบิตค่ามีสตริงที่อยู่บนและสำหรับทุกบิตที่ไม่ได้ตั้งค่าจะมีสตริงปิด |
12 | สนาม() | ส่งกลับดัชนี (ตำแหน่ง) ของอาร์กิวเมนต์แรกในอาร์กิวเมนต์ที่ตามมา |
13 | FIND_IN_SET() | ส่งกลับตำแหน่งดัชนีของอาร์กิวเมนต์แรกภายในอาร์กิวเมนต์ที่สอง |
14 | รูปแบบ() | ส่งกลับตัวเลขที่จัดรูปแบบเป็นจำนวนตำแหน่งทศนิยมที่ระบุ |
15 | เลขฐานสิบหก() | ส่งกลับการแสดงสตริงของค่าฐานสิบหก |
16 | แทรก() | แทรกสตริงย่อยที่ตำแหน่งที่ระบุถึงจำนวนอักขระที่ระบุ |
17 | INSTR() | ส่งกลับดัชนีของการเกิดขึ้นครั้งแรกของสตริงย่อย |
19 | ซ้าย() | ส่งกลับจำนวนอักขระซ้ายสุดตามที่ระบุ |
20 | ความยาว() | ส่งกลับความยาวของสตริงในหน่วยไบต์ |
21 | LOAD_FILE() | โหลดไฟล์ที่มีชื่อ |
22 | ค้นหา () | ส่งกลับตำแหน่งการเกิดขึ้นครั้งแรกของสตริงย่อย |
23 | ต่ำกว่า() | ส่งกลับอาร์กิวเมนต์เป็นตัวพิมพ์เล็ก |
24 | ป.ป.ช.() | ส่งกลับอาร์กิวเมนต์สตริง เบาะด้านซ้ายด้วยสตริงที่ระบุ |
25 | LTRIM() | ลบช่องว่างชั้นนำ |
26 | MAKE_SET() | ส่งกลับชุดของสตริงที่คั่นด้วยเครื่องหมายจุลภาคที่มีบิตที่สอดคล้องกันในบิต set |
27 | กลาง() | ส่งกลับสตริงย่อยเริ่มต้นจากตำแหน่งที่ระบุ |
28 | ต.ค.() | ส่งกลับการแสดงสตริงของอาร์กิวเมนต์ฐานแปด |
29 | ORD() | หากอักขระที่อยู่ซ้ายสุดของอาร์กิวเมนต์เป็นอักขระแบบหลายไบต์ ให้ส่งคืนโค้ดสำหรับอักขระนั้น |
30 | อ้าง() | Escapes อาร์กิวเมนต์สำหรับใช้ในคำสั่ง SQL |
สำรวจหลักสูตรวิศวกรรมซอฟต์แวร์ยอดนิยมของเรา
เอสแอล. ไม่ | โปรแกรมพัฒนาซอฟต์แวร์ | |
1 | วิทยาศาสตรมหาบัณฑิตสาขาวิทยาการคอมพิวเตอร์จาก LJMU & IIITB | โปรแกรมใบรับรองความปลอดภัยทางไซเบอร์ของ Caltech CTME |
2 | Bootcamp การพัฒนาเต็มกอง | โปรแกรม PG ใน Blockchain |
3 | Executive Post Graduate Program in Software Development - Specialization in DevOps | ดูหลักสูตรวิศวกรรมซอฟต์แวร์ทั้งหมด |
บทสรุป
จากบทความนี้ เราได้พยายามอธิบายเกี่ยวกับฟังก์ชันสตริง SQL ต่างๆ ที่นักพัฒนาสามารถใช้เมื่อเขียนโปรแกรมใน SQL เนื่องจากระบบการจัดการฐานข้อมูลมีความต้องการเพิ่มขึ้นในอุตสาหกรรมต่างๆ จึงเป็นช่วงเวลาที่ดีสำหรับนักพัฒนา SQL รุ่นใหม่ที่จะเรียนรู้ SQL เพื่อรักษาความปลอดภัยในอาชีพการงานภาคสนาม
หากคุณต้องการเพิ่มโอกาสในการประสบความสำเร็จในด้านการพัฒนาซอฟต์แวร์ เราขอแนะนำ Full Stack Development Certificate Program จาก Purdue University โปรแกรม 13 เดือนนี้ออกแบบมาเพื่อกำหนดเป้าหมายหัวข้อต่างๆ เช่น พื้นฐานของวิทยาการคอมพิวเตอร์ กระบวนการพัฒนาซอฟต์แวร์ การสร้างเว็บไซต์ที่แข็งแกร่งและปรับขนาดได้ Backend API และ UI เว็บที่สมบูรณ์และโต้ตอบได้
เรียนรู้ หลักสูตรการพัฒนาซอฟต์แวร์ ออนไลน์จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม Executive PG โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว
ติดต่อเราเพื่อสำรองที่นั่งได้แล้ววันนี้!
ฟังก์ชัน TRIM ทำหน้าที่อะไร?
ฟังก์ชัน TRIM ใช้เพื่อขจัดส่วนนำหน้าและส่วนต่อท้ายที่อาจมีสตริงที่กำหนด ทั้งสองถูกกำหนดโดยค่าเริ่มต้นในฟังก์ชัน TRIM หากไม่มีการระบุตัวระบุ .. เช่น BOTH, LEADING หรือ TRAILING ช่องว่างจะถูกตัดออกตามค่าเริ่มต้นเมื่อเรียกใช้ฟังก์ชัน TRIM หากไม่ได้ระบุไว้เป็นอย่างอื่น
ฟังก์ชันสตริง DIFFERENCE ทำงานอย่างไร
DIFFERENCE คือฟังก์ชันสตริง SQL แบบสเกลาร์ที่ใช้ในการเปรียบเทียบสตริงที่กำหนดสองสตริงโดยใช้ SOUNDEX ซึ่งเป็นฟังก์ชันสตริง SQL อื่น เมื่อคุณใช้ SOUNDEX กับอินพุตที่กำหนด จะมีการดำเนินการตรวจสอบความคล้ายคลึงกันกับเอาต์พุต ซึ่งจะส่งผลให้ผลลัพธ์ที่เป็นตัวเลขระหว่าง 0 ถึง 4 จำนวนเต็ม เมื่อตัวเลขนี้เข้าใกล้ 4 อินพุตจะค่อนข้างใกล้เคียงกัน
อธิบาย ASCII
ASCII เป็นตัวย่อของ American Standard Code สำหรับการแลกเปลี่ยนข้อมูล ในภาษาการเขียนโปรแกรม ASCII ถูกอ้างถึงเป็นรหัสอักขระ 7 บิต ซึ่งแต่ละบิตของอักขระระบุถึงอักขระที่แตกต่างกันซึ่งสามารถนำมาใช้สำหรับแอปพลิเคชันต่างๆ