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

 6,445 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,445 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 ครับ

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



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

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

  Java วิธี Query Field CLOB จาก Oracle ถามเมื่อ (2018-09-07)   2,146 views  (ไม่มีคนดู)

  Jquery ตัวอย่าง การจับตำแหน่ง scrollTop เพื่อ Load Data เพิ่มเมื่อเลื่อนจนถึงล่างสุด ถามเมื่อ (2019-05-29)   2,897 views  (ไม่มีคนดู)

  Oracle if else เขียนยังไงครับใน PL SQL ถามเมื่อ (2013-03-04)   3,165 views  (ไม่มีคนดู)

  synchronized java คืออะไรครับ ถามเมื่อ (2014-05-16)   2,881 views  (ไม่มีคนดู)

  my sql date format คำสั่งในการ query เดือน วัน ปี ถามเมื่อ (2012-10-08)   3,183 views  (ไม่มีคนดู)

  synchronized ใน JAVA คืออะไร และ มีการทำงานอย่างไร ถามเมื่อ (2019-05-13)   4,956 views  (ไม่มีคนดู)

  jQuery กำหนดให้รอ response จาก AJAX ด้วย option async ถามเมื่อ (2019-06-01)   2,310 views  (ไม่มีคนดู)

  datatable page select row วิธีปิด select row per page แบบให้ paging ยังอยู่ ถามเมื่อ (2017-06-01)   2,515 views  (ไม่มีคนดู)

  Full Stack JavaScript คืออะไร ถามเมื่อ (2020-01-24)   2,937 views  (ไม่มีคนดู)

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


 

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