เรื่องการหาส่วนต่างของเวลาที่เริ่ม และสิ้นสุดในแต่ละครั้งค่ะ ใน DB มี ฟิลล์ที่ชื่อ ว่า Starttime, Stoptime ค่ะ หนูเข้าไปดูใน DB <ซึ่งหนูมีสิทธิ์แค่ดูอย่างเดียว> สองฟิลล์นี้ถูกเซต Data Type -- > int
เก็บค่าเป็น 1-24 ค่ะ :) ขอบคุณค่ะ
$strSQL = "SELECT SUM(StopTime-StartTime) AS SumTime FROM Table ";
SELECT StopTime, StartTime TIMEDIFF(StopTime, StartTime) as time_diff FROM Table
2. ถ้าต้องการให้ Server เป็นผู้คำนวนเวลาให้ ก็เขียนเป็นฟังก์ชั่นแบบที่คุณ "Manussawin" แนะนำครับ วิธีนี้ภาระไปตกอยู่ที่ Server เพราะคิวรี่ให้เสร็จก่อนแล้วจึงนำผลที่ได้มาคำนวนอีกทีที่ Server
แล้วในกรณีที่เราไม่สามารถแก้ไขฐานข้อมูลได้เลย เพราะเค้าให้สิทธิ์แค่ view อย่างเดียวนี่เราสามารถใช้ TIMEDIFF ได้รึป่าวคะ ?
เพราะ data type มันเป็น int และเก็บค่า เป็น 0-23
Code (PHP)
<?php
$objConnect = mssql_connect("///", "///", "///") or die("Error Connection to Database");
$objDB = mssql_select_db("myDB");
$strSQL = "SELECT StopTime,StartTime TIMEDIFF(StopTime,StartTime) as time_diff FROM table WHERE Service='Email' AND StartDate >= '2012-01-26' and StopDate < '2012-12-25'";
$objQuery = mssql_query($strSQL) or die("Error Query [".$strSQL."]");
?>
<table width="90%" align="center" >
<?php
while($objResult=mssql_fetch_array($objQuery)){
?>
<tr align="center" bgcolor="">
<td align="right" width="52%"><b>จำนวนชั่วโมงที่ service ตกในเดือนนี้ = </b> </td>
<td align="left" width="50%"><?php echo $objResult["time_diff"];?> <b> ชั่วโมง</b></td>
</tr>
<?php
}
?>
</table>
แล้วมัน error ตามนี้ค่ะ
Code
Warning: mssql_query() [function.mssql-query]: message: Incorrect syntax near 'StopTime'. (severity 15) in C:\wamp\www\New folder\t_TT.php on line 6
Warning: mssql_query() [function.mssql-query]: Query failed in C:\wamp\www\New folder\t_TT.php on line 6