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

วิธีรับสตริงย่อยด้านซ้ายใน MySQL จากคอลัมน์ที่มีเส้นทางของไฟล์ แสดงสตริงพาธไฟล์ทั้งหมด ยกเว้นชื่อไฟล์?


ในการรับสตริงย่อยด้านซ้าย ให้ใช้ LEFT() พร้อมกับ substring_index() ตัวอย่างเช่น สมมติว่าเส้นทางของไฟล์คือ −

“/MyFile/JavaProgram/Hello.java “

ในที่นี้ เราจะมาดูวิธีการแสดงเส้นทางของไฟล์ทั้งหมด ยกเว้นชื่อไฟล์ เช่น −

/MyFile/JavaProgram/

ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable (ข้อความ FileLocation); ตกลง สืบค้น 0 แถวได้รับผลกระทบ (0.57 วินาที

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

mysql> แทรกลงในค่า DemoTable ('/MyFile/JavaProgram/Hello.java'); เคียวรีตกลง ได้รับผลกระทบ 1 แถว (0.27 วินาที)mysql> แทรกลงในค่า DemoTable ('/C/AllPrograms/animation.gif');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที)mysql> แทรกลงในค่า DemoTable ('/E/FavFile/ChatProgram.java'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที)

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

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

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+--------------------------------+| ตำแหน่งไฟล์ |+--------------------------------+| /MyFile/JavaProgram/Hello.java || /C/AllPrograms/animation.gif || /E/FavFile/ChatProgram.java |+--------------------------------+3 แถวในชุด (0.00 วินาที )

ต่อไปนี้เป็นแบบสอบถามเพื่อรับสตริงย่อยด้านซ้ายใน MySQL -

mysql> เลือกซ้าย (FileLocation,char_length(FileLocation)-char_length(substring_index(FileLocation,'/',-1))) จาก DemoTable;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อน>+--------------------------------------------- -------------------------------------------------- +| left(FileLocation,char_length(FileLocation)-char_length(substring_index(FileLocation,'/',-1))) |+-------------------------------------- -------------------------------------------------- ----------------------+| /MyFile/JavaProgram/ || /C/AllPrograms/ || /E/FavFile/ |+------------------------------------------ -------------------------------------------------- ---+3 แถวในชุด (0.00 วินาที)