Mik*_*rov 6 sql-server datetime stored-procedures
有一个从表更新触发器调用的存储函数。像这样:
FUNCTION [dbo].[DateTime2ToBigInt](@dt DATETIME2(7))
RETURNS BIGINT
Run Code Online (Sandbox Code Playgroud)
需要将输入日期时间转换为 unix 时间戳。
尝试过CONVERT( timestamp, @dt)
,CAST(@dt AS TIMESTAMP)
但都导致
“不允许从数据类型 datetime2 到时间戳的显式转换。”
当然可以用数学来做,但我不敢相信,mssql 没有直接转换功能
小智 7
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
Run Code Online (Sandbox Code Playgroud)
试试这个功能:
SELECT UNIX_TIMESTAMP(GETDATE());
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
26665 次 |
最近记录: |