BMS-HOSxP Community

HOSxP => การเขียน SQL Script => ข้อความที่เริ่มโดย: gu_prajag ที่ ตุลาคม 25, 2007, 19:50:09 PM

หัวข้อ: sql คำนวณอายุ ครับ เขียนอย่างไร
เริ่มหัวข้อโดย: gu_prajag ที่ ตุลาคม 25, 2007, 19:50:09 PM
เช่นถ้าต้องการทราบว่าคนนี้ เกิดวันที่เท่านี้ อายุปัจจุบันตอนนี้ กี่ปี กี่เดือน กี่วัน ครับ เขียน sql ยังไง
SELECT (2550 - YEAR(`birthdate`)) as birth FROM `user` จะได้ปีออกมา แต่ไม่ตรงความเป็นจริง ครับเช่น หากผม เกิด 1/10/2520 มันก็คิดเป็น 3 ปี ซึ่งตามจริงแล้ว มันแค่ 2 ปี กว่าๆ เลยอยากให้มันคิดด้วย จาก
วันเดือนปีปัจจุบัน นำมาลบกับวันเกิดของเราให้ได้ปีเกิดจริง เดือน และวันด้วย จะเขียนอย่างไร อะ
หัวข้อ: Re: sql คำนวณอายุ ครับ เขียนอย่างไร
เริ่มหัวข้อโดย: nuttavut ที่ ตุลาคม 26, 2007, 11:04:16 AM
ลองใช้แบบนี้ไหมครับ
 Value := GetThaiAge(   GetSQLDateData('select birthday from patient where hn="'+  DBPipeline['hn'] +'"'), GetSQLDateData('select curdate()'));
หัวข้อ: Re: sql คำนวณอายุ ครับ เขียนอย่างไร
เริ่มหัวข้อโดย: gu_prajag ที่ ตุลาคม 26, 2007, 11:47:49 AM
ขอบคุณครับสำหรับคำตอบ
แต่ผมต้องการคำสั่ง sql นะครับ เพื่อไปประยุกต์ใช้กับงานอื่นๆ
ถ้าอายุปัจจุบันของผู้ป่วยเมื่อเขามาโรงบาลสามารถหาได้จากตาราง vn_stat อยู่แล้ว
หรือวิธีคิดว่าเขาคำนวณอย่างไร ไห้ได้ตัวเลขอายุว่า กี่ปี กี่เดือน กี่วันครับ
ซึ่งสังเกตตอนลงทะเบียนส่งตรวจคนไข้ตรงช่องอายุ มันจะแสดงออกมา ไม่ทราบว่า อ มีวิธีคิดอย่างไร
หรือเขียน sql เพื่อให้ได้อายุจริงอย่างไร
หัวข้อ: Re: sql คำนวณอายุ ครับ เขียนอย่างไร
เริ่มหัวข้อโดย: thannawe ที่ ตุลาคม 26, 2007, 12:05:22 PM
ขอไปลองค้นหาวิธีก่อนนะครับแล้ว ช่วงบ่ายๆ จะมาตอบให้ครับ
เหมือนเคยทำได้ อิอิ  :)
ต้องใช้ฟังก์ชัน Mysql มั้งครับ ถ้าไม่อยากรอลองหาดูก็ได้ครับ
หัวข้อ: Re: sql คำนวณอายุ ครับ เขียนอย่างไร
เริ่มหัวข้อโดย: SrWooD ที่ ตุลาคม 26, 2007, 12:11:36 PM
ลองแบบนี้ดูครับ

select pt.birthday,vn.vstdate,vn.age_y,vn.age_m,vn.age_d,timestampdiff(year,pt.birthday,vn.vstdate) as cnt_year,
timestampdiff(month,pt.birthday,vn.vstdate)-(timestampdiff(year,pt.birthday,vn.vstdate)*12) as cnt_month,
timestampdiff(day,date_add(pt.birthday,interval (timestampdiff(month,pt.birthday,vn.vstdate)) month),vn.vstdate) as cnt_day
from vn_stat vn
left outer join patient pt on pt.hn=vn.hn
limit 10
หัวข้อ: Re: sql คำนวณอายุ ครับ เขียนอย่างไร
เริ่มหัวข้อโดย: naj ที่ ตุลาคม 26, 2007, 13:24:20 PM
thanks srwood
หัวข้อ: Re: sql คำนวณอายุ ครับ เขียนอย่างไร
เริ่มหัวข้อโดย: woravet ที่ ตุลาคม 26, 2007, 13:46:31 PM
ผมใช้ mysql 4.1 อยู่ ใช้คำสั่งอะไรครับ
หัวข้อ: Re: sql คำนวณอายุ ครับ เขียนอย่างไร
เริ่มหัวข้อโดย: nuttavut ที่ ตุลาคม 26, 2007, 14:02:00 PM
ลองดูที่นี่ http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=2530.0
หัวข้อ: Re: sql คำนวณอายุ ครับ เขียนอย่างไร
เริ่มหัวข้อโดย: thannawe ที่ ตุลาคม 26, 2007, 14:12:21 PM
พี่วุธ สามารถแก้ไขปัญหา ได้  สุดยอดแฟนHOSxP พันแท้ คน นี้ นี่ เอง !! ;D
หัวข้อ: Re: sql คำนวณอายุ ครับ เขียนอย่างไร
เริ่มหัวข้อโดย: gu_prajag ที่ ตุลาคม 30, 2007, 10:48:40 AM
จาก sql ของพี่ Srwood ตอนนี้มีแนวทางแล้ว ครับ thank you ไว้นะโอกาสนี้ ครับ