Asp.net 仅从“获取日期”;日期“;类型列

Asp.net 仅从“获取日期”;日期“;类型列,asp.net,sql-server,Asp.net,Sql Server,我想从“日期”类型列中选择值。我有类似2019年4月29日的值,但当我选择它并在视图中打印时,我得到2019年4月29日00:00:00 我的问题是: 从项目中选择Id、项目名称、开始日期、结束日期、团队Id使用Convert函数将日期时间转换为日期 SELECT Id, project_name, convert(date,start_date) start_date, convert(date, end_date)end_date, Team_Id FROM Projects; 如果您想要

我想从“日期”类型列中选择值。我有类似2019年4月29日的值,但当我选择它并在视图中打印时,我得到2019年4月29日00:00:00

我的问题是:
从项目中选择Id、项目名称、开始日期、结束日期、团队Id

使用
Convert
函数将日期时间转换为日期

SELECT Id, project_name, convert(date,start_date) start_date, convert(date, end_date)end_date, Team_Id FROM Projects;

如果您想要
DD.MM.YYYY
格式,请使用
CONVERT(varchar(10),Getdate(),104)


所有sql格式

如果您也得到时间,那么您的列
开始日期
结束日期
不是
日期
数据类型。似乎它们是
smalldatetime
datetime2(0)
。事实上,如果您使用的是
,而不是
-
,那么您可能正在使用
(n)varchar
来存储值,如果是这样,您需要修复,
varchar
不是存储日期的正确数据类型。使用日期(时间)数据类型。使用
varchar
只会导致问题,而不会解决任何问题。列代码:`[start\u date]date NOT NULL,`因为您提到了
asp.net
:在.net中没有
date
类型,只有
DateTime
。因此,当您从.NET应用程序的数据库中获取值时,它们将转换为
DateTime
;你必须在你的应用程序中格式化它们。日期没有时间部分,@SebastianSiedlarz。这听起来像是您的显示层问题,而不是SQL Server。您好!请在解决方案中添加一个解释,因为通常不鼓励仅使用代码的答案。谢谢--来自评论。
SELECT Id, project_name, CONVERT(varchar(10), start_date, 104) as start_date,
CONVERT(varchar(10), end_date, 104) as end_date, Team_Id FROM Projects;
SELECT Id, project_name, 
convert(date,start_date) as start_date, 
convert(date,end_date) as end_date, 
Team_Id FROM Projects