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

วิธีรับผลลัพธ์สตริงย่อยจากตารางที่มีไฟล์ตำแหน่งบันทึกใน MySQL?


ในการดึงข้อมูลสตริงย่อย ให้ใช้เมธอด substr() ใน MySQL เช่นเดียวกับไวยากรณ์ด้านล่าง -

select substr(yourColumnName,startIndex,endIndex) จาก yourTableName จำกัด anyValue;select substr(yourColumnName,startIndex+endIndex) จาก yourTableName จำกัด anyValue;

ให้เราสร้างตาราง -

mysql> สร้างตาราง demo11−> (−> id int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY,−> fileLocation text−> );ตกลง ตกลง 0 แถวได้รับผลกระทบ (2.60 วินาที)

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

mysql> แทรกลงในค่า demo11(fileLocation) ('E:/users/program/sample.sql'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที)mysql> แทรกลงในค่า demo11(fileLocation) ('E:/users/data/db.sql');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.32 วินาที)mysql> แทรกลงในค่า demo11(fileLocation) ('C:/users/data/sample2.sql'); แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.13 วินาที)

แสดงบันทึกจากตารางโดยใช้คำสั่ง select -

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

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

<ก่อนหน้า>+----+-----------------------------+| id | fileLocation |+----+-----------------------------+| 1 | E:/users/program/sample.sql || 2 | E:/users/data/db.sql || 3 | C:/users/data/sample2.sql |+----+-----------------------------+3 แถวใน ตั้งค่า (0.00 วินาที) วินาที

นี่คือแบบสอบถามเพื่อให้ได้ผลลัพธ์สตริงย่อยในหลายบรรทัด

แบบสอบถามส่วนแรกมีดังนี้ −

mysql> เลือก substr(fileLocation,1,15) จาก demo11 จำกัด 1,2;

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

<ก่อนหน้า>+---------------------------+| substr(fileLocation,1,15) |+--------------------------+| E:/users/data/d || C:/users/data/s |+--------------------------- +2 แถวในชุด (0.00 วินาที)

ส่วนที่สองมีดังนี้ −

mysql> เลือก substr(fileLocation,16) จาก demo11 จำกัด 1,2;

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

<ก่อนหน้า>+-----------------------------------+| substr(fileLocation,16) |+--------------------------------------+| b.sql || ample2.sql |+-------------------------+2 แถวในชุด (0.00 วินาที)