【问题标题】:How to sort data in asp.net according to varchar datetime field in SQL?如何根据SQL中的varchar datetime字段对asp.net中的数据进行排序?
【发布时间】:2015-07-14 09:16:27
【问题描述】:

我有一个表,其中有一列 DateTime,数据类型为 VARCHAR(500)

我正在其中存储日期和时间信息。我正在使用 C# 获取日期时间值

DateTime.Now.ToLongDateString() + "," + DateTime.Now.ToLongTimeString()

这给了我这样的格式:2015 年 7 月 14 日,12:56:04。

我想按此列对 gridview 中的数据进行排序,但由于它属于 VARCHAR,因此结果不正确。我知道有一些关于转换的事情,但一直没能做到。

任何关于 dis 的建议将不胜感激。

【问题讨论】:

  • 你想在sql server端还是c#端进行排序?
  • 我想在 c# asp.net 端进行排序。
  • Bad habits to kick : choosing the wrong data type - 你应该始终使用最合适的数据类型 - 毕竟这就是它们的用途!如果是日期 - 按原样存储! - 不要将日期和时间存储为 Varchar - 如果你这样做,那正是你遇到的问题!如果是日期和时间 - 使用 DATETIME(或在 SQL Server 2008 及更高版本上使用 DATETIME2(n)
  • 我希望如果您删除日期和时间之间的“,”,它会起作用。并在排序时将此字符串转换为 DateTime
  • 不工作.. @gkrishy

标签: sql asp.net datetime


【解决方案1】:

如果您在 Gridview 中为 datetime 列使用 boundfield,那么这将有助于您设计 Gridview:

<asp:boundfield datafield="DateColumn" dataformatstring="{0:MMMM d, yyyy}" htmlencode="false" />

【讨论】:

  • 它不工作...我得到的结果和以前一样。
猜你喜欢
  • 2016-11-17
  • 2011-12-28
  • 1970-01-01
  • 2021-12-09
  • 2019-10-28
  • 2013-10-16
  • 1970-01-01
  • 2011-06-18
  • 2011-06-08
相关资源
最近更新 更多