在Microsoft SQL Server 2012或更高版本中,是否可以在单个select语句中将datetime值转换为Unix时间戳?如果是这样,怎么办呢?
答案 0 :(得分:26)
将日期时间转换为unix时间戳很容易,但是容易出错,请输入以下内容:
@timestamp=DATEDIFF(second,{d '1970-01-01'},@datetime)
其中@datetime是您要转换的日期时间值。 {d'yyyy-mm-dd'}表示法是ODBC转义序列。
功能:
CREATE FUNCTION UNIX_TIMESTAMP (
@ctimestamp datetime
)
RETURNS integer
AS
BEGIN
/* Function body */
declare @return integer
SELECT @return = DATEDIFF(SECOND,{d '1970-01-01'}, @ctimestamp)
return @return
END
现在试试吧@Ousman:
SELECT UNIX_TIMESTAMP(GETDATE());