 |
อยากทราบการแปลงวันที่จาก พ.ศ. เป็น ค.ศ. แล้วหาค่ามาเป็นอายุปัจจุบัน |
|
 |
|
|
 |
 |
|
อยากทราบการแปลงวันที่จาก พ.ศ. เป็น ค.ศ. แล้วหาค่ามาเป็นอายุปัจจุบัน เช่น อายุ______ปี_____เดือน______วัน ฐานข้อมูลที่ใ้ช้อยู่เป็น Oracle การเก็บข้อมมูลวันเดือนปีเกิดเป็น Varchar ขนาด 8
codeปัจจุบันเป็นการเรียกดูข้อมูลวันเิกิด แล้วเอามาแยกเป็นวันเดือนปี และแสดงค่าวันที่ปัจจุบัน
Code
select birthdate,
to_date(substr(birthdate,7,2)||'/'||
substr(birthdate,5,2)||'/'||
substr(birthdate,1,4),'dd/mm/yyyy')
,sysdate
from per_personal

Tag : MySQL, Oracle
|
|
 |
 |
 |
 |
Date :
2012-02-15 08:59:17 |
By :
jae_ce |
View :
8301 |
Reply :
11 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ช่วยหน่อยครับ
|
 |
 |
 |
 |
Date :
2012-02-15 13:59:28 |
By :
jae_ce |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
คุณเก็บ Format เป็นภาษาไทยเหรอครับ 
|
 |
 |
 |
 |
Date :
2012-02-15 15:24:49 |
By :
webmaster |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ใครช่วยได้บ้างครับช่วยหน่อย
|
 |
 |
 |
 |
Date :
2012-02-21 16:01:56 |
By :
jae_ce |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ดันหาคนช่วยต่อครับ
|
 |
 |
 |
 |
Date :
2012-02-23 10:23:17 |
By :
jae_ce |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ยังเงียบอยู่มากมายใครช่วยหน่อยครับจริงๆ
|
 |
 |
 |
 |
Date :
2012-02-24 08:32:05 |
By :
jae_ce |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ไม่มีคนช่วยเห้อ
|
 |
 |
 |
 |
Date :
2012-03-01 12:50:03 |
By :
jae_ce |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ยังรอคำตอบอยู่คราบ
|
 |
 |
 |
 |
Date :
2012-03-08 11:09:19 |
By :
jae_ce |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ช่วยหน่อยครับ
|
 |
 |
 |
 |
Date :
2012-03-13 15:09:17 |
By :
jae_ce |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ไม่มีใครตอบเลยหรือคาบ
|
 |
 |
 |
 |
Date :
2012-03-20 11:23:35 |
By :
jae_ce |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
บางทีอาจไม่จำเป็นต้องเอามาแปลงเป็น พ.ศ. ก็ได้นะครับ
ถ้าตามความคิดผม พอจะมีแนวทางดังนี้ครับ
สมมติผมเกิดวันที่ 1 มีนาคม 2534 ---> แปลงเป็น format วันที่แบบที่คุณให้มาได้เป็น 19910301
Code (VB.NET)
Dim a As String = 19910301
Dim aY As String = a.Substring(0, 4)
Dim aM As String = a.Substring(4, 2)
Dim aD As String = a.Substring(6)
Dim aNew As String = aY & "/" & aM & "/" & aD
Dim aValue As Double = 365.25 - CDate(aNew).DayOfYear
Dim b As Integer = Now.DayOfYear
Dim bYnow As String = Now.Year
Dim calYear As Integer = CInt(bYnow) - CInt(aY) - 1
Dim result As Double = aValue + CDbl(b) + (CDbl(calYear) * 365.25)
ผมลองทำการคำนวณด้วยมือ ถ้าผมเกิดวันที่ดังที่ยกตัวอย่าง จะมีชีวิตมาแล้ว 7738 วัน
ผลการทดสอบโค้ด ผมได้ดังนี้ครับ

คนอื่นอาจมีวิธีที่น่าจะง่ายกว่านี้นะครับ แต่ผมคิดออกแค่นี้
ลองเอาไปปรับใช้ดูนะครับ
|
 |
 |
 |
 |
Date :
2012-05-08 12:46:48 |
By :
slipknot1256 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|