PLSQL Sub String ด้วยคำสั่ง substr วิธีใช้งาน  สร้างคำถาม

 6,690 view  หมวดหมู่ : สำหรับโปรแกรมเมอร์  วันที่สร้าง : 28/11/2012

PLSQL Sub String ด้วยคำสั่ง substr วิธีใช้งาน

Oracle คำสั่งที่ใช้ในการ Sub String คือ substr
ตัวอย่างการใช้งาน

select substr('12345', 1) from dual
เริ่มจากตัวแรกถึงตัวสุดท้าย แบบนี้ได้ค่าเดิมคือ 12345

select substr('12345', 2) from dual
จากตัวที่ 2 ถึงตัวสุดท้าย จะได้ 2345

select substr('12345', -1) from dual
ตัดเอาคำหลังสุด จะได้แค่ เลข 5

select substr('12345', -2) from dual
ตัดตั้งแต่ข้างหลังขึ้นมา สองตัว จะได้ 45

select substr('12345', 1,2) from dual
ตัดสองช่วง จากตัวที่ 1 นับไปอีก 2 ตัว จะได้ 12

select substr('12345', 2,1) from dual
ตัดสองช่วง จากตัวที่ 2 นับไปอีก 1 ตัว จะได้ 2

ประมาณนี้แหละครับลองซ้อมๆ เพื่อทำความเข้าใจ โดยการเปลี่ยนค่าตัวเลขดูเอง
แล้วจะรู้แนวทางของมันครับ


ถ้าชอบบทความนี้ กด Like เลย :PLSQL Sub String ด้วยคำสั่ง substr วิธีใช้งาน

 6,690 view  หมวดหมู่ : สำหรับโปรแกรมเมอร์  วันที่สร้าง : 28/11/2012



SOA,Java,XSLT

 ร่วมแสดงความคิดเห็นได้ที่นี่

#1.    เอก
@ ปอ
ถ้าเป็นแบบนี้จะตัดแบบกำหนดตำแหน่งตายตัวไม่ได้
เราต้องหาตำแหน่งของเครื่องหมาย | แล้วตัดถึงตำแหน่งนั้น -1 ครับ การหาตำแหน่งใช้คำสั่ง instr
ตัวอย่างเช่น

select substr('123|A', 1,instr('123|A', '|')-1) from dual

ลองดูครับ

...............................................
#2.    ปอ
@ เอก
ขอบคุณครับ
ใช้ instr นี่ตอบโจทย์ได้เยอะเลยครับ

...............................................
#3.    รบกวนด้วยครับ
@ แล้วถ้ามี data ประมาณนี้
a,b,c,d,e,f
อยากจะ split ออกมาอ่ะครับ
ทำยังไงอ่ะ

...............................................
#4.    Oragu
@ ถ้าอยาก split แบบนั้น ลองดูตัวอย่างใน Link นี้ครับ

http://www.tutorial66.com/oracle-pl-sql/plsql-split-words-with-delimiter-by-only-one-sql-command/

อ่านแล้วดู งงๆ ผมก๊อบมาใช้เลยเห่อๆ Work ครับ

...............................................
#5.    รบกวนด้วยครับ
@ Oragu
ใช้ยังไงอ่ะครับ
แหะๆ

...............................................
#6.    Oragu
@ จากในตัวอย่างที่เค้ายกมาเป็น การทำสอบ ตัดคำ
'PLSQL1,PLSQL2,PLSQL3,PLSQL4,'
คั่นด้วย , ครับ ถ้าอยากคั่นด้วยอย่างอื่นก็แก้ Code นิดหน่อย แต่เค้ามีข้อจำกัดว่า หลังสุดต้องปิดด้วยตัวคั่น ไม่งั้นมันจะตัดไม่ครบ

ถ้าเราจะเอาไปใช้ก็แค่ แทนค่าของเราที่ต้องการตัดลงไปตรง นี้อ่ะ

FROM (SELECT 'PLSQL1,PLSQL2,PLSQL3,PLSQL4,' main_string

ตรง PLSQL1,PLSQL2,PLSQL3,PLSQL4,

ผลที่มันได้จะออกมาเป็น List เราก็ไปวนใช้ต่อ

...............................................
#7.    เอกพล
@ แล้วถ้าอยาก จะตัด เอาด้านหลังออกทำไง
เช่น ตัด 4 ตัวท้ายออก ที่เหลือเอาหมด

...............................................
#8.    เอก
@ เอกพล
ตัด ตั้งแต่ 1 ถัง LENGH -4 ครับ

...............................................



× แจ้งเตือน! เราสนับสนุนทุกความคิดเห็น ที่ ใช้ถ้อยคำสุภาพ ไม่ละเมิดผู้อื่น ไม่ก่อให้เกิดความขัดแย้ง

เนื้อหาที่เกี่ยวช้อง

  Bootstrap การจัดการ grid เพื่อให้รองรับกับหน้าจอทุกขนาด xs sm md lg ถามเมื่อ (2017-12-04)   2,006 views  (ดูล่าสุดเมื่อ 5 นาที)

  jQuery กำหนดให้รอ response จาก AJAX ด้วย option async ถามเมื่อ (2019-06-01)   2,591 views  (ดูล่าสุดเมื่อ 8 นาที)

  คำสั่ง Unix VI เบื้องต้น รู้คร่าวๆ พอให้แก้ปัญหาเฉพาะหน้าได้นะ ถามเมื่อ (2018-04-24)   2,406 views  (ดูล่าสุดเมื่อ 12 นาที)

  Highcharts javascript กำหนด Tooltip เพื่อแสดงผลด้วยตัวเอง ถามเมื่อ (2017-03-03)   2,057 views  (ดูล่าสุดเมื่อ 13 นาที)

  ลง Apserv แล้วค้างตรง service mysql ถามเมื่อ (2018-07-22)   3,602 views  (ดูล่าสุดเมื่อ 15 นาที)

  oracle pl sql select into dynamic sql ตัวอย่าง Code ถามเมื่อ (2014-01-31)   3,010 views  (ดูล่าสุดเมื่อ 38 นาที)

  Jasper report คืออะไร ต่างจาก iReport อย่างไร ถามเมื่อ (2015-08-23)   5,399 views  (ดูล่าสุดเมื่อ 40 นาที)

  SQL UNION กับ SQL UNION ALL ต่างกันยังไง ถามเมื่อ (2015-08-31)   4,439 views  (ดูล่าสุดเมื่อ 55 นาที)

  Print BarCode ด้วย PHP ง่ายๆ ด้วย Free Barcode Font ถามเมื่อ (2012-07-04)   3,336 views  (ดูล่าสุดเมื่อ 109 นาที)

  Oracle PLSQL แก้ปัญหา Query ใน function ช้ากว่า Query ปรกติด้วย DETERMINISTIC Hint ถามเมื่อ (2017-06-01)   2,106 views  (ดูล่าสุดเมื่อ 135 นาที)


 

บ้านเดียวกันดอทคอม เว็บถามตอบ รวมทุกเรื่องที่คุณอยากรู้ ให้ความรู้ ความบันเทิง มีสาระ
www.ban1gun.com