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

 6,564 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,564 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 LAG กับ LEAD SQL Command สำหรับ select ข้อมูลจาก row ก่อนหน้า หรือ ถัดไป ถามเมื่อ (2017-06-01)   3,225 views  (ดูล่าสุดเมื่อ 14 นาที)

  Version ของ Java ปัจจุบันไปถึงใหนแล้วครับ ถามเมื่อ (2015-04-27)   2,661 views  (ดูล่าสุดเมื่อ 14 นาที)

  Java วิธี Query Field CLOB จาก Oracle ถามเมื่อ (2018-09-07)   2,335 views  (ดูล่าสุดเมื่อ 16 นาที)

  Vector ต่างจาก Array List ยังไงครับ ถามเมื่อ (2011-06-23)   4,331 views  (ดูล่าสุดเมื่อ 18 นาที)

  Storm Trident คืออะไร ต่างจาก spout หรือ bolt ยังไง ถามเมื่อ (2014-08-27)   3,667 views  (ดูล่าสุดเมื่อ 23 นาที)

  PHP แปลงรูป ให้เป็น Binary ยังไงครับ ขอตัวอย่างด้วยครับ ถามเมื่อ (2013-07-12)   2,723 views  (ดูล่าสุดเมื่อ 24 นาที)

  IDE ยอดนิยมในการเขียน Code ภาษาJava คือตัวใหนครับ ถามเมื่อ (2015-08-28)   2,137 views  (ดูล่าสุดเมื่อ 59 นาที)

  ขอแหล่งความรู้ Java ครับ เว็บไซต์ หรือ blog ก็ได้ ถามเมื่อ (2013-02-22)   2,972 views  (ดูล่าสุดเมื่อ 59 นาที)

  เกย้เ ถามเมื่อ (2011-12-21)   3,432 views  (ดูล่าสุดเมื่อ 72 นาที)

  แนะนำ เว็บจัด Format SQL Command ให้ดูง่ายๆ ถามเมื่อ (2017-03-03)   2,793 views  (ดูล่าสุดเมื่อ 73 นาที)


 

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