首页 > 解决方案 > 将查询从内连接更改为左连接时,日期时间列的格式正在更改

问题描述

我使用下面的查询绑定到我的gridview。在 gridview 中有两个隐藏字段。

 sql = "SELECT a.Submission_id ,a.Name,a.Submitted_time  as Normal_submitted_time," +
                    "b.Subject,b.Submitted_time  AS Final_submitted_time FROM a " +
                    " JOIN b ON a.Submission_id = b.Submission_id ";

  <asp:HiddenField ID="HiddenFieldNormalSubmittedTime" runat="server" Value='<%#Eval("Normal_submitted_time") %>'/> 
                       <asp:HiddenField ID="HiddenFielFinalSubmittedTime" runat="server" Value='<%#Eval("Final_submitted_time ") %>'/> 

string HiddenFieldNormalSubmittedTime = Convert.ToString(((HiddenField)gvrow.FindControl("HiddenFieldNormalSubmittedTime")).Value);
string HiddenFieldFinalSubmittedTime = Convert.ToString(((HiddenField)gvrow.FindControl("HiddenFielFinalSubmittedTime")).Value);

HiddenFieldNormalSubmittedTime 的值是

2020 年 12 月 6 日晚上 10:20:51

HiddenFieldFinalSubmittedTime 的值 =

17-06-2020 下午 12:30:58

但是当将相同的查询更改为 LEFT JOIN

    sql = "SELECT a.Submission_id ,a.Name,a.Submitted_time  as Normal_submitted_time," +
                    "b.Subject,b.Submitted_time  AS Final_submitted_time FROM a " +
                    " JOIN b ON a.Submission_id = b.Submission_id ";

HiddenFieldFinalSubmittedTime 的格式更改为

2020 年 6 月 17 日 13:12:55

HiddenFieldNormalSubmittedTime 保持不变。原因是什么?在将 eval 绑定到隐藏字段时,我可以使其成为通用格式(12-06-2020 10:20:51 PM)吗?

标签: c#sqlasp.netdatetime

解决方案


只需将 SQL 查询中的格式更改为

FORMAT (a.Submitted_time, 'dd-MM-yy hh:mm:ss')

推荐阅读