【问题标题】:Converting varchar to datetime将 varchar 转换为日期时间
【发布时间】:2013-10-18 04:34:44
【问题描述】:

谁能帮我把1218100860转换成datetime

我试过这样:

SELECT CONVERT(VARCHAR(11), DATEADD(s,1218100860, '1970-01-01 00:00:00'), 101)

它可以工作,但是当我这样尝试时,它会引发错误:

SELECT 
     CONVERT(VARCHAR(11), DATEADD(s, rd.Request_Date, '1970-01-01 00:00:00'), 101) 
FROM 
     dbo.RequestDetails rd

其中Request_Date 是值必须转换为datetime 的列 错误是:

参数数据类型 varchar 对于 dateadd 函数的参数 2 无效。

【问题讨论】:

  • 嗨,rd.Request_Date 是时间戳还是日期时间?
  • 该列的数据类型是 varchar。我需要将其转换为日期时间并存储在另一个表中

标签: sql sql-server datetime


【解决方案1】:

我不知道您使用的是什么 RDBMS(可能是 SQL Server?),但是:

参数数据类型 varchar 对于 dateadd 函数的参数 2 无效

这意味着参数 2 (rd.Request_Date) 不应该是 varchar。 因为在你的第一个例子中你使用了一个整数并且它有效, 那么看来您只需将rd.Request_Date 转换为整数,它应该可以工作, 像这样:

SELECT CONVERT(VARCHAR(11),DATEADD(s,CONVERT(INT, rd.Request_Date), '1970-01-01 00:00:00'),101 )

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-07
    • 2019-12-23
    • 2019-03-13
    • 1970-01-01
    • 1970-01-01
    • 2017-07-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多