1

谁能帮我转换1218100860datetime

我试过这样:

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 无效。

4

1 回答 1

1

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

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

这意味着参数 2( rd.Request_Date) 不应该是 a varchar。由于在您的第一个示例中您使用了一个整数并且它可以工作,那么您似乎只需转换rd.Request_Date为整数并且它应该可以工作,如下所示:

SELECT CONVERT(VARCHAR(11),DATEADD(s,CONVERT(INT, rd.Request_Date), '1970-01-01 00:00:00'),101 )
于 2013-10-18T04:44:28.340 回答