将varchar转换为datetime

时间:2013-10-18 04:34:44

标签: sql sql-server datetime

有人可以帮助我将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无效。

1 个答案:

答案 0 :(得分:0)

我不知道你正在使用什么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 )