繁体   English   中英

SQL Select查询返回的DATE在SQL中没有TIME,但是当我运行ASP项目时,它不断添加“ 12:00:00 AM”

[英]SQL Select Query returning DATE without TIME inside SQL but i when i run my ASP project it keeps adding “12:00:00 AM”

SELECT 
    Lname + ' ' + Ename  as Name, 
    DateOfBirth,  
    DATEDIFF(hour,dateOfBirth,GETDATE())/8766 AS Age 
FROM EmpTBL 
WHERE 
    DATEADD( Year, DATEPART( Year, GETDATE()) - DATEPART( Year, DateOfBirth), DateOfBirth) 
    BETWEEN CONVERT( DATE, GETDATE()) AND CONVERT( DATE, GETDATE() + 30);

上面的查询是我在SQL内进行测试时使用的,它似乎可以正常工作,但是当我将其添加到ASP.net项目中时,结果却有所不同,我已经添加了“ Convert(date,getdate())” 如何选择SQL中没有时间的日期

我项目的输出

我项目的输出

我的SQL输出

我的SQL输出

当我们从数据库获取日期到asp.net时,它采用Date-Time格式而不是Date,因此您可以根据需要将其转换为自定义日期:

<%# Convert.ToDateTime(Eval("DateOfBirth")).ToString("yyyy/MM/dd")%> 

您可以根据需要使用任何格式说明符 / 自定义日期和时间格式字符串

将您的查询更改为

select CONVERT(VARCHAR(10),dateOfBirth,101) FROM EmpTBL  WHERE <>

您可以使用ASP.Net的CONVERT函数,可以将其转换为字符串,然后对其进行格式化。

例如添加.ToString("MM/dd/yyyy")

我认为这篇文章可以为您提供帮助: 字符串格式日期-C#或VB.NET

.net没有仅用于日期的此类数据类型。 您只需在datetime对象中获取默认时间即可。

Sql具有日期,时间和日期时间概念,因此Sql只能显示日期。

您可以忽略代码中的时间,也可以选择不通过格式化在UI上显示时间。

使用GridViewDataFormatString属性。 如果将其设置为{0:d} ,则应该只获得短日期格式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM