Как конвертировать значение типа Int в часы (время) из mssql в EJS - PullRequest
0 голосов
/ 11 декабря 2018

В настоящее время я работаю над проектом, в котором мне нужно получить данные из SQL Server и отобразить эти данные на веб-странице (EJS) с помощью node.js.Ниже приведено изображение с результатами моих данных.

enter image description here

Теперь я хотел преобразовать LengthTime (в формате Int в базе данных MSSQL) в часыформат, и я хотел показать StartTime и Entime как "12/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>

1 Ответ

0 голосов
/ 11 декабря 2018

Так как LengthTime всегда <<code>86400, вы можете сделать как

SELECT CAST(CONVERT(varchar, DATEADD(Second, LengthTime, 0), 108) AS TIME)
FROM YourTable;

Вы можете создать представление, или в вашем запросе напишите

db.executeSql("SELECT Machine,StartTime,EndTime,CAST(CONVERT(varchar, DATEADD(Second, LengthTime, 0), 108) AS TIME) LengthTime ....
...