Tuesday 29 January 2008

ประกาศรับสมัครงาน

บริษัท มิดเดิลแวร์ คอร์ปอเรชั่น จำกัด ประกาศรับสมัครงานหลายตำแหน่งดังนี้

1. Junior Java Developer, 2 Positions
2. System Analyst (Java), 1 Position
3. Sales Representative, 1 Position

ดูรายละเอียดได้ที่ URL นี้ครับ
http://middleware.co.th/docs/00372_middleware_job_post_105.pdf

ผู้ที่สนใจให้ส่งประวัติการทำงานพร้อมหลักฐานการศึกษา มาที่ surajit@middleware.co.th

ขอบคุณครับ

Tuesday 22 January 2008

"Extract" Function ดีๆ ที่ไม่ควรมองข้าม

วันนี้มี Function ดีๆ มาแนะนำให้รู้จักกันค่ะ

จากประสบการณ์ที่ผ่านมา คาดว่าหลายๆ คน อาจจะเคยต้องเขียน Function เพื่อคำนวณหาอายุ ต่างๆ
ไม่ว่าจะเป็น อายุของลูกค้า, อายุงาน, อายุสัญญา ต่างๆ เป็นต้น และวิธีที่หลายๆ คนเคยใช้ ก็คงไม่ต่างกันนัก
กล่าวคือ หาผลต่างระหว่างวันที่เริ่มต้น กับวันที่สิ้นสุด เพื่อให้ได้จำนวนวันที่อยู่ในช่วงอายุนั้นๆ จากนั้นก็นำไปคำนวณ
หาจำนวนปี และเดือน โดยการ mod และ div ด้วยจำนวนวันในหนึ่งปี และจำนวนวันในหนึ่งเดือน ได้ในที่สุด

Oracle ได้นำเสนอ Function EXTRACT ให้เป็นทางเลือกแก่ผู้ใช้ ซึ่งสามารถใช้งานได้ตั้งแต่เวอร์ชั่น 9i ขึ้นไป
โดย Function ที่ว่านี้ สามารถที่จะดึงเอา วันที่ เดือน หรือ ปี จากข้อมูลประเภท Date โดยให้ผลลัพธ์เป็นข้อมูล
ประเำภทตัวเลข ซึ่งต่างจากการแปลงรูปแบบโดยใช้ Function TO_CHAR ตามปรกติ ที่จะให้ผลลัพธ์เป็นตัวอักษร

SQL> select sysdate as current_date,
2 extract (month from sysdate) as mm_e,
3 to_char (sysdate, 'MM') as mm
4 from dual;

CURRENT_DMM_EMM
---------------------
22-JAN-08101

เพื่อให้ง่ายต่อการทำความเข้าใจ เราจะลองเอา Function EXTRACT มาใช้ในการหาอายุของลูกค้าให้ดูนะค่ะ

SQL> select cust_last_name,
2 extract (year from (sysdate - date_of_birth) year to month)
3 ' years '
4 extract (month from (sysdate - date_of_birth) year to month)
5 ' months' as age
6 from customers;
CUST_LAST_NAMEAGE
----------------------------------------
Kinski52 years 9 months
Garcia36 years 8 months
Olin21 years 7 months
Dench54 years 7 months
Altman23 years 6 months

...


วิธีการก็ไม่มีอะไรมาก เพียงแค่ใช้ Function EXTRACT ในการ Extract ค่า YEAR และค่า MONTH จากผลต่างของวันปัจจุบันกับวันเกิด
ที่อยู่ในรูปของ Interval Year To Month ก็จะได้ผลลัพธ์ออกมาอย่างง่ายดาย