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

 5,861 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,861 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 SQL MOD หารเอาเศษยังไงครับ ถามเมื่อ (2017-03-03)   5,242 views  (ดูล่าสุดเมื่อ 4 นาที)

  Spring Boot คืออะไร ต่างจาก Spring Framework ยังไง ถามเมื่อ (2018-12-21)   4,306 views  (ดูล่าสุดเมื่อ 13 นาที)

  jquery การเข้าถึงตัวแปรแบบ Dynamic ผ่าน ID ทำยังไงครับ ถามเมื่อ (2019-06-01)   1,418 views  (ดูล่าสุดเมื่อ 22 นาที)

  Javascript debugger ie8 ใส่ breakpoints ไม่ได้ ถามเมื่อ (2015-09-15)   2,600 views  (ดูล่าสุดเมื่อ 35 นาที)

  ESB กับ OSB ต่างกันยังไง ถามเมื่อ (2014-05-22)   3,494 views  (ดูล่าสุดเมื่อ 36 นาที)

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

  Java Rule Engine คืออะไร ถามเมื่อ (2015-09-16)   2,821 views  (ดูล่าสุดเมื่อ 115 นาที)

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

  ตัวอย่าง jquery การ click link พร้อม ส่ง Parameter ถามเมื่อ (2013-03-27)   2,777 views  (ดูล่าสุดเมื่อ 119 นาที)

  Oracle NOT EXISTS tuning performanc ให้เร็วกว่าการใช้ NOT IN ถามเมื่อ (2017-06-01)   3,542 views  (ดูล่าสุดเมื่อ 122 นาที)


 

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