Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何仅返回datetime字段的日期,并使其可排序?_C#_Date_Datetime_Sql Server 2008 R2 - Fatal编程技术网

C# 如何仅返回datetime字段的日期,并使其可排序?

C# 如何仅返回datetime字段的日期,并使其可排序?,c#,date,datetime,sql-server-2008-r2,C#,Date,Datetime,Sql Server 2008 R2,我看了这个问题,但其实不一样: 我需要做的是只返回日期块,但也使其正确排序 我目前有: convert(varchar(10),a.Work_Start,101) as [Work Start] 我在C#中的一个可排序网格视图中使用它。问题是,当我按升序排序时,2016年7月1日在2015年12月30日之前,因为01日在12日之前。因此,我认为转换为varchar不是我想要的。如果您将DATETIME转换为DATE,该怎么办 例如: SELECT CAST(Work_Start AS DAT

我看了这个问题,但其实不一样:

我需要做的是只返回日期块,但也使其正确排序

我目前有:

convert(varchar(10),a.Work_Start,101) as [Work Start]

我在C#中的一个可排序网格视图中使用它。问题是,当我按升序排序时,2016年7月1日在2015年12月30日之前,因为01日在12日之前。因此,我认为转换为varchar不是我想要的。

如果您将DATETIME转换为DATE,该怎么办

例如:

SELECT CAST(Work_Start AS DATE) AS [Work Start]

只需返回整个DateTime,并在gridview列中应用所需的格式字符串。如果您只需要
Work\u Start
列的日期部分,为什么不在开始时将其定义为type而不是
DateTime
?这在排序方面起作用,但它包含一个时间(00:00:00 AM)。你知道如何摆脱它吗?C#中没有日期类型,所以一旦你进入GridView,你就会得到这个值。因此,您需要在GridView列中设置@Alberto所说的格式。