直接上代码:
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 from_unixtime (@ts integer) RETURNS datetime AS BEGIN /* Function body */ declare @return datetime select @return = DATEADD(second, @ts, {d '1970-01-01'}) return @return END
用法
跟MySQL下的一样类似:
select dbo.UNIX_TIMESTAMP('2013-1-1') select dbo.from_unixtime(2145000000)
感谢参考 http://skinn3r.wordpress.com/2009/01/26/t-sql-datetime-to-unix-timestamp/
延伸阅读
- MSSQL数据库超时 80040e31
- php中ms sql server日期时间类型转换成 unix时间戳
- 一个无敌的下载站点:msdn I tell you,作什么用就不说了,谁用谁知道
- ms sql server 查看服务器当前的连接会话及会话信息(客户端ip地址,协议,时间,读写情况等)
- ms sql在对大表做很慢的更新语句时,应单条处理,而不要一个语句更新多条,以避免锁表而阻塞其它应用的读操作
- MS SQL server 自定义函数:获取汉字拼音首字母(音序)
- 不用“维护计划”实现mssql定期备份并压缩存档
- MySQL(csv,text)导入mssql方法参考
- php+MSSQL的坑:(n)varchar型字段被截断
- MySQL错误:Incorrect file format/数据表“使用中”解决手记
- MySQL内置函数:IP地址点分式与数字转换函数(INET_ATON/INET_NTOA)
- 生产环境下MySQL服务配置优化参考样本/CentOS 6.x MySQL 5.1/CentOS 7.x MariaDB 5.5
- MySQL服务器设置max_user_connections防止连接耗尽,以提高可用性
- MySQL/MariaDB下索引基数cardinality的更新问题
- MySQL进程(process)中出现大量locked,问题分析与解决