我目前正在开发一个项目,我必须从 SQL Server 接收数据并使用 node.js 将该数据呈现到网页 (EJS) 中。 下面给出的图像是我的数据的结果。
现在我想将 LengthTime(MSSQL 数据库中的 Int 格式)转换为 Hours 格式,并且我想显示 StartTime 和 Entime,如“11/12/2018 12:02:04 PM”。我怎样才能做到这一点?
我的 SQL 和 EJS 编码。
function receiveData(req, res)
{
db.executeSql("SELECT Machine,StartTime,EndTime,LengthTime,Day,JobNumber FROM Arduino order by StartTime DESC", function (recordsets, err, ) {
var data = JSON.stringify(recordsets);
if (err) {
httpMsgs.show500(request, res, err);
}
else {
var Jdata = JSON.parse(data);
console.log(Jdata);
res.render('arduino',{Jdata:Jdata});
}
});
}
<center> <table border="1" cellpadding="7" cellspacing="7">
<tr>
<th> ID </th>
<th>-</th>
<th>Machine</th>
<th>Start Time</th>
<th>End Time</th>
<th>Length Time</th>
<th> Day/Night</th>
<th>Job Number</th>
</tr>
<% if(Jdata.recordset.length){
for(var i = 0;i < Jdata.recordset.length;i++) { %>
<tr>
<td><%=(i+1)%></td>
<td> </td>
<td><%=Jdata.recordset[i].Machine %></td>
<td><%=Jdata.recordset[i].StartTime%></td>
<td><%=Jdata.recordset[i].EndTime%></td>
<td><%=Jdata.recordset[i].LengthTime%></td>
<td><%=Jdata.recordset[i].Day%></td>
<td><%=Jdata.recordset[i].JobNumber%></td>
</tr>
<% }
}else{ %>
<tr>
<td colspan="3">No Data</td>
</tr>
<% } %>
</table> </center>
最佳答案
由于LengthTime
始终为<86400
,因此您可以这样做
SELECT CAST(CONVERT(varchar, DATEADD(Second, LengthTime, 0), 108) AS TIME)
FROM YourTable;
您可以创建一个 View ,或者在您的查询中写入
db.executeSql("SELECT Machine,StartTime,EndTime,CAST(CONVERT(varchar, DATEADD(Second, LengthTime, 0), 108) AS TIME) LengthTime ....
关于node.js - 如何将 Int 值从 mssql 转换为小时(时间)到 EJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53716556/