是否有人知道可以用MySQL的UNIX_TIMESTAMP(time_val)
替代H2,以便在JDBC时间戳上应用该函数会返回1970年1月1日00:00:00的Unix纪元吗?
答案 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,'')
答案 1 :(得分:0)
我尝试了另一个答案,结果不准确。在另一个答案中,我得到了本地时区的时间戳(在我的情况下为GMT + 3),因此它与Unix时间戳(以毫秒为单位)不同。在我的回答中,我得到的结果是UTC。
这将为您提供正确的当前UNIX时代:
SELECT EXTRACT (EPOCH from CURRENT_TIMESTAMP())