BMS-HOSxP Community
HOSxP => แจ้งปัญหา / ขอความช่วยเหลือ => ข้อความที่เริ่มโดย: panda ที่ ธันวาคม 13, 2011, 14:53:50 PM
-
:'( :'( รบกวนท่านผู้รู้ช่วยดูรายงานให้หน่อยค่ะ ตรงระยะเวลาสรุปใช้คำสั่งอารายอ่ะ :'( :'( ช่วยแนะนำด้วยค่ะ
(เอาวันที่คืน - วันที่รับ)
-
ใช้คำสั่ง DateDiff ใช่เปล่าค่ะ ;D ;D แล้วใช้งัย.... :'( :'(
-
ลองใช้ timediff ดูครับ
SELECT TIMEDIFF('2011-07-12 13:48:15', '2011-07-04 09:34:43') as times
ประมาณนี้
ศึกษาคำสั่ง sql เพิ่มเติมได้ที่
http://www.java2s.com/Tutorial/MySQL/0280__Date-Time-Functions/Catalog0280__Date-Time-Functions.htm
ครับ
-
ขอบคุณค่ะ เดี๋ยวจะลองดูค่ะ
-
:'( :'( รบกวนท่านผู้รู้ช่วยดูรายงานให้หน่อยค่ะ ตรงระยะเวลาสรุปใช้คำสั่งอารายอ่ะ :'( :'( ช่วยแนะนำด้วยค่ะ
(เอาวันที่คืน - วันที่รับ)
ลองเอา variable ไปวาง แล้วด้านในเขียนคำสั่งแบบนี้นะครับ
Value := GetSQLStringData('select concat(TIMESTAMPdiff(day,concat(rent_date," ",rent_time),concat(return_date," ",return_time))," Çѹ ",'+
' sec_to_time(TIMESTAMPdiff(second,concat(rent_date," ",rent_time),concat(return_date," ",return_time))-'+
' ((TIMESTAMPdiff(day,concat(rent_date," ",rent_time),concat(return_date," ",return_time))*24)*60)*60))as c_datediif'+
' from ipdrent where an="'+DBPipeline['an']+'" and return_date is not null');
พอดีเคยทำไว้ไม่รู้จะใช่ที่ต้องการรึปล่าว ;)
-
ขอบคุณมากมายค่ะ คุณ realaerm ;D ;D ตรงใจสุดๆๆ แต่ไม่ต้องลบเวลานะค่ะ เอาแค่วัน
ลองแก้ไขแล้ว ใช้คำสั่ง ดังนี้
GetSQLStringData('select concat(TIMESTAMPdiff(day,rent_date,return_date)," Çѹ ",'+
' sec_to_time(TIMESTAMPdiff(second,rent_date,return_date)-'+
' ((TIMESTAMPdiff(day,rent_date,return_date)*24)*60)*60))as c_datediif'+
' from ipdrent where an="'+DBPipeline['an']+'" and return_date is not null');
แต่ผลออกมาได้วันจริงค่ะ แต่มี เวลา 00:00:00 ตามมาด้วย ไมทราบว่าต้องแก้ไขตรงไหน
-
ขอบคุณมากมายค่ะ คุณ realaerm ;D ;D ตรงใจสุดๆๆ แต่ไม่ต้องลบเวลานะค่ะ เอาแค่วัน
ลองแก้ไขแล้ว ใช้คำสั่ง ดังนี้
GetSQLStringData('select concat(TIMESTAMPdiff(day,rent_date,return_date)," Çѹ ",'+
' sec_to_time(TIMESTAMPdiff(second,rent_date,return_date)-'+
' ((TIMESTAMPdiff(day,rent_date,return_date)*24)*60)*60))as c_datediif'+
' from ipdrent where an="'+DBPipeline['an']+'" and return_date is not null');
แต่ผลออกมาได้วันจริงค่ะ แต่มี เวลา 00:00:00 ตามมาด้วย ไมทราบว่าต้องแก้ไขตรงไหน
ถ้างั้นแค่นี้ก็ได้ครับ ;)
แบบที่ 1
GetSQLStringData('select TIMESTAMPdiff(day,rent_date,return_date)as c_datediff '+
' from ipdrent where an="'+DBPipeline['an']+'" and return_date is not null');
แบบที่ 2
GetSQLStringData('select datediff(return_date,rent_date)as c_datediff '+
' from ipdrent where an="'+DBPipeline['an']+'" and return_date is not null');
ปล.แบบที่ 1 จะได้จำนวนวันแบบไม่รวมเศษที่เหลือ แบบที่ 2 คือเอาวันที่มาลบกันเฉยๆ
-
ขอรบกวนท่านผู้รู้ ช่วยอีกครั้งค่ะ
พอดี User ต้องการให้เอาวันที่คืนเวชระเบียน - วันที่จำหน่ายผู้ป่วย ปัญหาคืออยู่คนละตารางจะทำอย่างไรได้ค่ะ