【问题标题】:change date Time String to Sql server DateTime data type将日期时间字符串更改为 Sql server DateTime 数据类型
【发布时间】:2009-05-12 10:04:48
【问题描述】:

如何将这些日期时间字符串更改为 sql server DateTime 类型:

"Thu May 07 19:19:27" 
"Thu May 07 19:19:33" 
"Thu May 07 19:19:34" 
"Thu May 07 19:19:34"
"Thu May 07 19:19:35" 

【问题讨论】:

  • 对编辑的评论:我将日期时间字符串放在引号中(出于着色目的),并更改上面的句子以澄清它们是字符串。但我没有足够的代表......:P

标签: sql-server datetime time


【解决方案1】:

这是一个 TSQL 的 sn-p,您可以在存储过程或函数中使用它来将字符串转换为 SQL 日期时间。

  DECLARE
     @Year char(4), /* the DateTime needs a year */
     @DateString varchar(20),
     @DateVariable DateTime;

  SET @Year = '2009';
  SET @DateString = 'Thu May 07 19:19:27';  /* any of the dates in your list */

  SET @DateVariable = CONVERT(DateTime, @Year 
                            + SUBSTRING(@DateString, 4, LEN(@DateString)));

  /*
      After the conversion, @DateVariable contains '2009-05-07 19:19:27.000'
  */

【讨论】:

  • 非常感谢。通常我不会在互联网上发布问题,因为有时需要数小时到数天才能得到答案。我总是试图从已经回答的帖子中获取参考。今天我参加了一个会议,正在做一些时间通行证。突然,我第一次在这个网站上发布了一个问题(我从早上开始就一直在努力解决这个问题。)。而且,几分钟之内我就收到了 4-5 条回复。我非常非常感谢你们所有人。现在,这是我最喜欢的任何与编程相关的查询的地方。你们摇滚。再次非常感谢大家。葡萄
【解决方案2】:

您是否正在考虑使用 SQL 存储函数/过程或在某些外部程序中将这些日期字符串转换为 DateTime 值?

【讨论】:

    猜你喜欢
    • 2014-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-26
    相关资源
    最近更新 更多