【问题标题】:How to set date only in SQL Server table?如何仅在 SQL Server 表中设置日期?
【发布时间】:2013-03-27 06:53:46
【问题描述】:

我正在使用datatime 数据类型在数据库中设置日期,但它提供了完整的数据时间和小时和分钟我只想以dd-mm-yyyy 的格式设置日期

【问题讨论】:

标签: c# asp.net-mvc sql-server-2005


【解决方案1】:

也许使用date 而不是datetime

【讨论】:

  • sqlserver2008 中没有仅可用于日期的数据类型
  • 嗨,DATE 数据类型是在 SQL Server 2008 中引入的(参见我发布的链接,该链接设置为 SQL Server 2008 作为版本)。我不认为这是它,但你正在运行什么版本?另外,您的数据库在哪个compatibility mode 中? (它不可能处于 SQL 2005 兼容模式?如果你处于 2005 兼容模式,那么 DATE 数据类型将不可用 - 它需要处于 2008 兼容模式)
  • @ShaikhNadeem:您在原始帖子中的标签中说您正在使用 SQL Server 2008 ....
  • SQL Server 2008 确实有 Date 数据类型
【解决方案2】:

a) 在 2008 年及以后,您可以使用 Date 数据类型

b) 如果您无法更改数据类型,您可以将 datetime 转换为 date 以“截断”时间。例如:convert( date, GETDATE() ) 将返回'2013-03-27',当插入datetime 列时,它会有时间00:00:00.000

c) 如果您只是不想在转换为字符串时显示时间组件,请使用您选择的格式转换:http://msdn.microsoft.com/en-us/library/ms187928.aspx

【讨论】:

    【解决方案3】:

    只需使用DATE 数据类型而不是DATETIME

    更多关于DATE

    SQL FIDDLE DEMO

    【讨论】:

      【解决方案4】:

      试试这个

        DateTime dt = DateTime.Now;
        SqlCommand cmd = new SqlCommand("INSERT into myTable(dateColumn) Values (@pDate)", conn);
        cmd.Parameters.AddWithValue("@pDate", dt.Date.ToShortDateString());
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-09-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多