从日期变量sql server获取日期

时间:2012-02-24 08:39:09

标签: asp.net sql-server-2008

日期格式

enter image description here

问题:我只想要约会 - 没时间。

SQL语句:

SELECT SubjectIndex, LetterNo, DateOfIssue 
FROM [CircularKeeper]  
ORDER BY DateOfIssue DESC

删除时间部分后,我希望它按顺序降序。

我使用SqlDataSource将数据绑定到listsview并在标签控件中显示日期。

2 个答案:

答案 0 :(得分:2)

你可以通过多种方式实现这一目标,2008年我会选择:

SELECT SubjectIndex,LetterNo, CAST(DateOfIssue AS DATE) AS DateOfIssue
FROM [CircularKeeper]  
ORDER BY DateOfIssue DESC

由于现在有DATE数据类型 - 如果您实际上没有在表中的该字段中存储时间,那么您可能需要考虑将数据类型从DATETIME更改为DATE - 保存CASTing,如下所示使用更少的空间(3个字节而不是8个)。

您也可以在UI中执行此操作,方法是返回当前的DATETIME,并确保在呈现之前适当地格式化日期。

<强>更新 我建议从查询中将DATE作为DATE返回 - 所以返回其中强类型表单中的数据。如果出于演示目的,您需要以某种方式格式化,我建议您在演示逻辑中应用格式。

答案 1 :(得分:0)

您可以在select语句中使用以下格式

选项 - 1

select Convert(varchar, GETDATE(), 101) --02/23/2012
select Convert(varchar, GETDATE(), 102) --2012.02.23
select Convert(varchar, GETDATE(), 103) --23/02/2012
select Convert(varchar, GETDATE(), 104) --23.02.2012
select Convert(varchar, GETDATE(), 105) --23-02-2012

选项 - 2

select CAST(GETDATE()as date) --2012-02-23

C#代码

DateTime dt;
string Temp1 = "Your Date";
if (DateTime.TryParse(Temp1, out dt))
{
     // If it is a valid date
     string date = dt.ToShortDateString();
     string time = dt.ToShortTimeString();
}