หลักการแปลง ประเภทข้อมูล (PL/SQL)
การแปลงประเภทข้อมูล เพื่อนำข้อมูลมาต่างๆ มาใช้ได้อย่างมีประสิทธิภาพ และตรงวัตถุประสงค์
โดยฟังก์ชั่นที่ oracle เตรียมไว้ให้สำหรับการแปลงประเภทข้อมูลสามารถดูได้ง่ายๆจาก
Flow Chart ด้านล่างครับ
โดยผมจะอธิบายถึงการใช้งาน และ Error ที่อาจจะเกิดขึ้นได้ตามตารางด้านล่างเลยครับ
แปลงจากประเภทข้อมูล | เป็นประเภทข้อมูล | ฟังก์ชั่น และคำอธิบาย | Error ที่อาจจะเกิดขึ้น |
ตัวอักษร (Varchar2) | ตัวเลข (Number) | to_number(’ข้อมูลที่มีชนิดเป็นตัว อักษร’) เช่น select to_number(’1234′,’9,999.00′) from dual; ผลลัพธ์ 1,234.00 อ่านเพิ่มเติมเรื่อง Format Number | หากข้อมูลที่ส่งเข้าไปไม่สามารถเป็นตัว เลขได้จะเกิด Error : ORA-01722: invalid number เช่น select to_number(’12bc’) from dual; ข้อผิดพลาดบรรทัด 1: ORA-01722: invalid number |
ตัวเลข (Number) | ตัวอักษร (Varchar2) | to_char(’ข้อมูลที่มีชนิดเป็นตัวเลข’) เช่น select to_number(1234,’9,999′) from dual; ผลลัพธ์ตัวอักษร 1,234 อ่านเพิ่มเติมเรื่อง Format Number | - |
ตัวอักษร (Varchar2) | วันที่ (Date) | to_date(’ข้อมูลที่มีชนิดเป็นตัว อักษร’,'ฟอร์แมตของวันที่’) เช่น select to_date(’05/12/2009′, ‘dd/mm/yyyy’) from dual; ผลลัพธ์ 05 ธ.ค. 2009 อ่านเพิ่มเติมเรื่อง Format Date & Time | หากข้อมูลที่ส่งเข้าไปทั้ง 2 ค่ามีฟอร์แมตไม่ตรงกันจะเกิด ORA-01821: date format not recognized เช่น select to_date(’05/12/2009′, ‘aa/mm/yyyy’) from dual; ข้อผิดพลาดบรรทัด 1: ORA-01821: date format not recognized |
วันที่ (Date) | ตัวอักษร (Varchar2) | to_char(’ข้อมูลที่มีชนิดเป็นวัน ที่’,'ฟอร์แมตของวันที่’) เช่น select to_char(sysdate, ‘dd/mm/yyyy’) from dual; ผลลัพธ์ 05/12/2009 อ่านเพิ่มเติมเรื่อง Format Date & Time | หากข้อมูลที่ส่งเข้าไปทั้ง 2 ค่ามีฟอร์แมตไม่ตรงกันจะเกิด ORA-01821: date format not recognized เช่น select to_char(sysdate, ‘aa/mm/yyyy’) from dual; ข้อผิดพลาดบรรทัด 1: ORA-01821: date format not recognized |
0 ความคิดเห็น:
แสดงความคิดเห็น
สมัครสมาชิก ส่งความคิดเห็น [Atom]
<< หน้าแรก