ท่านเคยหรือเปล่า ที่ลองใช้ Function GetSQLSubQueryData(sql); แล้ว แต่พบว่าแสดงผลออกมาเป็น 'a','b' แต่อยากให้เวลาที่แสดงผล สามารถที่จะตัดเครื่องหมาย a,b,c ออกให้เหลือแต่เครื่องหมาย , คั่นชุดข้อมูลที่ได้แต่ละค่าครับ เนื่องจากกินพื้นที่พอสมควรทำให้ ถ้าหากต้องการแบบนั้น มาดูวิธีกันเลย ....
ยกตัวอย่าง ที่ 1
st := ReplaceSTR(GetSQLSubQueryData('select name from pttype'),'''','');
st := ReplaceSTR(st,'"','');
ตัวอย่างที่ 2 เนื่องจาก ตัว ' (Qoute) เป็นคำสงวน หรือสัญลักณ์ เราอาจใช้การแปลงเป็น Ascii Code ซึ่ง สัญลักษณ์ ' (Qoute) แทนด้วย ตัวเลข 39 ดัง Script
จาก Script
Value := GetSQLSubQueryData('Select icd10 from iptdiag '+
' where an ="'+dbpipeline['an']+'" and diagtype ="2" ');
หากไม่ใช้ Function จะให้ผล 'A09','E119','I10','M420'
แต่ถ้า ใช้ Script แบบนี้
Value := ReplaceStr(GetSQLSubQueryData('Select icd10 from iptdiag '+
' where an ="'+dbpipeline['an']+'" and diagtype ="2" '),chr(39),'');
จะให้ผลแบบนี้ A09,E119,I10,M420 จะเห็นว่า ไม่มี สัญลักษณ์ ' (Qoute) แล้ว
หรือ เราสามารถประยุกต์ใช้ คำสั่ง REPLACE แทนที่ตัวอักษรด้วยค่าที่ต้องการแทนที่ แบบนี้ก็ได้
เช่น
SELECT REPLACE("123456789", "67", "A") as Data
ค่าที่ได้คือ 12345A89 ครับ เพราะผมแทนที่ 67 ด้วย A ไงครับ
ครับ น่าจะพอได้ Concept นะครับ .....
No comments:
Post a Comment