【问题标题】:Save only hours and minutes in SQL Server 2005在 SQL Server 2005 中仅节省数小时和数分钟
【发布时间】:2013-02-19 09:35:03
【问题描述】:

实际上,我在 c# 的帮助下将一些行插入到 SQL Server 2005 数据库中。 在我的日期时间列中,我只想保存小时和分钟。

请告诉我如何通过 SQL 和 C# 两种方法插入。

谢谢

【问题讨论】:

  • 我发现这个 SQL 代码的 sn-p 将日期转换为截断为分钟的日期:dateadd(minute, datediff(minute, 0, GETDATE()), 0)

标签: c# sql sql-server-2005 datetime


【解决方案1】:

在Sqlserver中你可以很容易地处理它,通过使用下面的代码

ist step--> 声明两个变量 2nd step--> 写这段代码

  declare @hour int,@minute int
         set @hour=(SELECT DATEPART(hh, GETDATE()));
         set @minute=(SELECT DATEPART(minute, GETDATE()));
         print @hour
         print @minute

我用print来显示小时和分钟,你可以直接插入到数据库中

【讨论】:

    【解决方案2】:

    将这个用于 C#..它会工作..

    String.Format("{0:t}", dt);
    

    【讨论】:

    • 其实我的插入字段是日期时间,但是你给了我一个字符串格式
    【解决方案3】:

    假设您希望使用 DATETIME 字段,您不能只在 SQL 2005 中存储小时和分钟。SQL 将存储日期时间,例如:1900-01-01 HH:MM:00.000。当你得到日期时,你需要修剪掉你不关心的部分。

    2 我不推荐的其他选项是:

    • 使用 2 个整数字段 - 小时和分钟;或
    • 1 个整数字段(自午夜以来的分钟数)。

    这可能会导致很多其他问题,所以你不应该这样做

    【讨论】:

    • 实际上我只需要将存储在数据库中的时间(不是日期)与我的代码文件中的时间(实际上是 c#)进行比较
    • 你可以比较两个日期,得到时差。例如。 1900-01-01 12:00
    猜你喜欢
    • 2010-09-13
    • 1970-01-01
    • 2011-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多