【问题标题】:Time is not getting properly时间没有得到适当的
【发布时间】:2011-12-27 14:47:21
【问题描述】:

使用 SQL Server 2000

dtptime  - datetimepicker (Format: Custom Format(HH:mm)

查询

insert into table1 values (Convert(varchar(8), '" & dtptime & "', 108))

上面的查询是插入一个日期值而不是时间。我只想插入一个时间值。

当我使用当前日期时 (getdate()) 意味着它插入正确,但从 datetimepicker 获取的只是日期,而不是时间。

如何只获得一次。

需要查询帮助

【问题讨论】:

  • 您使用的是什么服务器端语言?

标签: sql sql-server datetime sql-server-2000


【解决方案1】:

要仅插入时间,请使用以下代码:

--8 represents hh:mm:ss
INSERT INTO table1 VALUES (CONVERT(CHAR(8),dt,8))

您可以在这里看到它的实际效果:https://data.stackexchange.com/stackoverflow/q/117721/

其他信息:

看看MSDN的转换代码列表。

datetime 字段中插入仅时间值时,日期将默认为01-01-1900

【讨论】:

    【解决方案2】:

    我建议首先在服务器端应用程序中将字符串从 datepicker 转换为 DateTime 对象。如果您使用 C#,则可以使用 DateTime 数据类型。然后使用它。

    如果你想插入,你可以使用

    var dt = DateTime.Now;
    String.Format("insert into table1 values '{0:yyyyMMdd HH:mm:ss}'",dt);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-08
      • 1970-01-01
      • 2014-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多