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

 5,847 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 วิธีใช้งาน

 5,847 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 ครับ

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



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

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

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

  Ireport การทำ Row สลับ สี Background Color แถวคู่แถวคี่ Jasper report ถามเมื่อ (2018-11-30)   1,399 views  (ดูล่าสุดเมื่อ 11 นาที)

  Java การ Return error message จาก Exception เหมือน printStackTrace ถามเมื่อ (2014-06-12)   2,606 views  (ดูล่าสุดเมื่อ 15 นาที)

  Java script sort Text ผมเรียงแล้วเจอปัญหาครับ Z มาก่อน m ถามเมื่อ (2012-09-12)   2,225 views  (ดูล่าสุดเมื่อ 20 นาที)

  วิธี Add Classpath iReport เพื่อ Connect database Oracle ผ่าน JDBC ถามเมื่อ (2018-10-08)   1,919 views  (ดูล่าสุดเมื่อ 21 นาที)

  PHP Codeigniter Cannot modify header information headers already sent by ปัญหาตอน redirect ถามเมื่อ (2019-08-26)   2,598 views  (ดูล่าสุดเมื่อ 21 นาที)

  PLSQL select into แบบ Dynamic SQL ด้วย bind variable ถามเมื่อ (2017-03-03)   2,504 views  (ดูล่าสุดเมื่อ 24 นาที)

  icon bootstrap ตัวอย่าง URL สำหรับแปะ Link ถามเมื่อ (2016-02-01)   1,425 views  (ดูล่าสุดเมื่อ 24 นาที)

  Datatype ใน JSON ประกอบด้วยอะไรบ้าง ถามเมื่อ (2017-12-26)   990 views  (ดูล่าสุดเมื่อ 25 นาที)

  Full Stack JavaScript คืออะไร ถามเมื่อ (2020-01-24)   1,919 views  (ดูล่าสุดเมื่อ 32 นาที)


 

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