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

รับเฉพาะนามสกุลไฟล์จากคอลัมน์ที่มีชื่อไฟล์เป็นสตริงใน MySQL หรือไม่


สำหรับสิ่งนี้ ให้ใช้ฟังก์ชัน substring_index()

ไวยากรณ์มีดังนี้

select substring_index(yourColumnName, '. ', -1) AS anyAliasNamefrom yourTableName;

ให้เราสร้างตารางก่อน แบบสอบถามเพื่อสร้างตารางมีดังนี้

mysql> สร้างตาราง AllFiles -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, -> ชื่อผู้ใช้ varchar(10), -> FileName varchar(100) -> ); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.65 วินาที) 

แทรกบางระเบียนในตารางโดยใช้คำสั่ง insert

แบบสอบถามมีดังนี้

mysql> แทรกลงในค่า AllFiles (ชื่อผู้ใช้ ชื่อไฟล์) ('Larry', 'AddTwoNumber.java'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที)mysql> แทรกลงใน AllFiles (ชื่อผู้ใช้ ชื่อไฟล์) ค่า ('Mike ','AddTwoNumber.python'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า AllFiles (ชื่อผู้ใช้ชื่อไฟล์) ('Sam', 'MatrixMultiplication.c'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16) วินาที)mysql> แทรกลงในค่า AllFiles (ชื่อผู้ใช้ ชื่อไฟล์) ('Carol', 'vector.cpp'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select

แบบสอบถามมีดังนี้

mysql> เลือก *จาก AllFiles;

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+----+----------+-----------------------+| รหัส | ชื่อผู้ใช้ | ชื่อไฟล์ |+----+----------+-----------------------+| 1 | แลร์รี่ | AddTwoNumber.java || 2 | ไมค์ | AddTwoNumber.python || 3 | แซม | MatrixMultiplication.c || 4 | แครอล | vector.cpp |+----+----------+-----------------------+4 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อรับเฉพาะนามสกุลไฟล์ใน MySQL

mysql> เลือก substring_index(FileName,'.',-1) AS ALLFILENAMEEXTENSIONS จาก AllFiles;

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+-----------------------+| ALLFILENAMEEXTENSIONS |+----------------------+| จาวา || หลาม || ค || cpp |+-----------------------+4 แถวในชุด (0.00 วินาที)