我们的应用程序使用SQL SERVER 2005
我只需要在 GridView中显示来自 DateTime 的 DATE 。
我不想将其转换为任何其他格式之类的Varchar
东西。它应该只是DateTime格式本身,没有Time。
请帮忙。
我们的应用程序使用SQL SERVER 2005
我只需要在 GridView中显示来自 DateTime 的 DATE 。
我不想将其转换为任何其他格式之类的Varchar
东西。它应该只是DateTime格式本身,没有Time。
请帮忙。
在 SQL Server 中,代码是
CAST(datediff(d,0,datetimecol) as datetime)
但是,我怀疑这对 GridView 有什么好处,它会推断它是一个“日期时间”列并显示“日期+时间”格式,即使时间都是“00:00:00”。
如下所示在 Grid 中绑定 DateField 列,然后它可以工作...
<asp:BoundField DataField="Your_Date_Column"
HeaderText="Date_Column"
DataFormatString="{0:d}" />
DataFormatString="{0:d}"
它显示日期3/11/2013
在 SQL 2005 中,如果没有时间(时间是 datetime 类型的一部分),则无法将其保持为 datetime 格式,您可以获得的最佳结果是:
2013-04-02 00:00:00.000
如果您愿意转换为 VARCHAR,则可以使用类似于:
SELECT CONVERT(VARCHAR(10),GETDATE(),111)
它将根据需要显示日期部分。否则,您需要迁移到 SQL 2008+,在该版本中可以使用适当的日期类型。
如果您需要坚持使用 SQL 2005,实现此目的的最佳方法是在数据网格视图本身中对其进行格式化。