此时我通过修改日期时间获取记录:
WHERE modify_date >= ( SELECT DATEDIFF( s, CONVERT (datetime, ''1990-01-01'', 120), CONVERT (datetime, '+@theDate+', 120) ) )
其中@theDate
用于例如:
SET @theDate = '''2018-06-04 00:00:01'''
在第I列中,我有BIGINT
值,例如897004800
- 如何将此值转换为清除日期时间?
答案 0 :(得分:3)
走另一条路。
DECLARE @value BIGINT = 883612800
SELECT DATEADD(SECOND, @value, '1990-01-01')
您的modify_date
是您的1990年硬编码日期与实际修改日期之间的秒数。如果要显示实际修改日期,只需将该秒数添加到1990。
答案 1 :(得分:1)
如果你的bigint号码是UNIX时间戳,你应该从' 1970-01-01'开始:
DECLARE @unix_timestamp BIGINT = 883612800
, @start_from DATETIME = '1970-01-01'
SELECT DATEADD(SECOND, @unix_timestamp, @start_from)