是否等效于H2 DB的UNIX_TIMESTAMP函数?

时间:2018-11-26 03:13:57

标签: mysql h2 unix-timestamp

是否有人知道可以用MySQL的UNIX_TIMESTAMP(time_val)替代H2,以便在JDBC时间戳上应用该函数会返回1970年1月1日00:00:00的Unix纪元吗?

2 个答案:

答案 0 :(得分:0)

create table #StudentInfo (StudentId int identity(1,1), StudentName char(1))
insert into #StudentInfo values ('A'),( 'B'), ('C'), ('D'), ('E'), (NULL)

declare @StudentNameToSearch varchar(1)
select @StudentNameToSearch = NULL

--To return all student if @StudentNameToSearch is NULL
select * from #StudentInfo where StudentName = @StudentNameToSearch OR @StudentNameToSearch IS NULL

--To return only student of NULL value if @StudentNameToSearch is matched and IS NULL
select * from #StudentInfo where ISNULL(StudentName,'') = ISNULL(@StudentNameToSearch,'')

--To return only student if @StudentNameToSearch is matched and not null
select @StudentNameToSearch = 'B'
select * from #StudentInfo where ISNULL(StudentName,'') = ISNULL(@StudentNameToSearch,'')

如此处回答:CURRENT_TIMESTAMP in milliseconds in h2

或此处:https://gitlab.com/romain.rinie/h2database/issues/211

答案 1 :(得分:0)

我尝试了另一个答案,结果不准确。在另一个答案中,我得到了本地时区的时间戳(在我的情况下为GMT + 3),因此它与Unix时间戳(以毫秒为单位)不同。在我的回答中,我得到的结果是UTC。

这将为您提供正确的当前UNIX时代:

SELECT EXTRACT (EPOCH from CURRENT_TIMESTAMP())