SQL选择查询在SQL中返回没有时间的日期,但是当我运行我的ASP项目时,它不断添加“12:00:00 AM”
Posted
技术标签:
【中文标题】SQL选择查询在SQL中返回没有时间的日期,但是当我运行我的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" 【发布时间】:2015-10-08 03:28:07 【问题描述】: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())” How to select date without time in SQL
我的项目的输出
我的 SQL 的输出
【问题讨论】:
为什么不在数据网格中格式化日期? 【参考方案1】:当我们从数据库中获取日期到 asp.net 时,它是日期时间格式而不是日期,因此您可以根据需要将其转换为自定义日期:
<%# Convert.ToDateTime(Eval("DateOfBirth")).ToString("yyyy/MM/dd")%>
您可以根据需要使用任何Format specifier/Custom Date and Time Format String。
【讨论】:
【参考方案2】:将您的查询更改为
select CONVERT(VARCHAR(10),dateOfBirth,101) FROM EmpTBL WHERE <>
【讨论】:
【参考方案3】:可以使用ASP.Net的CONVERT
函数,转换成字符串再格式化。
比如添加.ToString("MM/dd/yyyy")
。
我认为这篇文章可以帮助你:String Format Date - C# or VB.NET
【讨论】:
【参考方案4】:.net 只有日期没有这样的数据类型。您只需在 datetime 对象中获取默认时间。
Sql 具有日期、时间和日期时间概念,因此 Sql 可以只显示日期。
您可以忽略代码中的时间,也可以通过格式化来选择不在 UI 上显示时间。
【讨论】:
【参考方案5】:在GridView
中使用DataFormatString
属性。如果你将它设置为0:d
,你应该只得到一个短日期格式。
【讨论】:
以上是关于SQL选择查询在SQL中返回没有时间的日期,但是当我运行我的ASP项目时,它不断添加“12:00:00 AM”的主要内容,如果未能解决你的问题,请参考以下文章