我需要在SQL Server 2008中创建一个将会模仿mysql的UNIX_TIMESTAMP()的函数.
提前致谢 !
解决方法
试试这个帖子
http://skinn3r.wordpress.com/2009/01/26/t-sql-datetime-to-unix-timestamp/
http://skinn3r.wordpress.com/2009/01/26/t-sql-datetime-to-unix-timestamp/
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
或这篇文章:
代码如下:
CREATE FUNCTION dbo.DTtoUnixTS ( @dt DATETIME ) RETURNS BIGINT AS BEGIN DECLARE @diff BIGINT IF @dt >= '20380119' BEGIN SET @diff = CONVERT(BIGINT,DATEDIFF(S,'19700101','20380119')) + CONVERT(BIGINT,'20380119',@dt)) END ELSE SET @diff = DATEDIFF(S,@dt) RETURN @diff END
样品用量:
SELECT dbo.DTtoUnixTS(GETDATE()) -- or SELECT UnixTimestamp = dbo.DTtoUnixTS(someColumn) FROM someTable
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。