在Sybase中,将sql时间戳转换为unixtime

时间:2013-01-11 14:37:00

标签: sql timestamp type-conversion sybase unix-timestamp

我正在使用Sybase数据库,如何将我的数据库中显示的SQL时间戳更改为:2012-03-23 11:27:04.870000到unixtime。

我希望能够在sql中执行类似的操作:

select time1, unix_time_function(time1) as time1_to_unixtime from mytable

可以吗?

2 个答案:

答案 0 :(得分:3)

根据Wikipedia,UNIX时间是自1970年1月1日以来经过的秒数(不包括闰秒)。

考虑到这一点(如果我还没有完全失去它),那应该是1970-01-01与您的时间之间的差异,以秒为单位:

SELECT time1,
       Datediff(SECOND, '1970-01-01', time1) AS time1_to_unixtime
FROM   mytable

我不确定DateDiff是否会考虑闰秒,如果没有,可能需要进行一些调整。

Sybase中DateDiff的文档是here

答案 1 :(得分:0)

Sybase中有convert函数,它具有不同的转换时间选项,如

select convert(char(20),getdate(),101) --- value from 101 to 123

检查this article in the Sybase Infocenter