0
我正在給我的數據庫添加日期,但問題是,他們是一天後面。數據不是太敏感,所以只需添加一天即可使用。我對SQL Server並不十分熟悉,並且已經搜索了試圖找到如何將一天添加到UNIX時間戳的方法。如何將一天添加到SQL Server中的UNIX時間戳?
我只是想添加一天到我的時間戳。例如:1492560000
是針對昨天的,需要針對今天。
任何幫助將是偉大的,謝謝!
我正在給我的數據庫添加日期,但問題是,他們是一天後面。數據不是太敏感,所以只需添加一天即可使用。我對SQL Server並不十分熟悉,並且已經搜索了試圖找到如何將一天添加到UNIX時間戳的方法。如何將一天添加到SQL Server中的UNIX時間戳?
我只是想添加一天到我的時間戳。例如:1492560000
是針對昨天的,需要針對今天。
任何幫助將是偉大的,謝謝!
如評論所述,您可以添加60 * 60 * 24添加一天。如果您希望能夠添加其他日期部分而不添加任何內容,則可以將unix時間戳轉換爲SQL日期部分,使用dateadd,然後將其轉換回來。
declare @date datetime = getutcdate()
declare @unixstartdate datetime = '1970-01-01'
declare @unixdate int = datediff(second, @unixstartdate, @date)
--Add datepart to unix
select
datediff(second, @unixstartdate, dateadd(/*date part you are adding*/day, /*number of dateparts to add*/1, dateadd(second, @unixdate, @unixstartdate)))
--Here's how we got there
select
@unixdate AS [current_unix_date]
,dateadd(second, @unixdate, @unixstartdate) AS [sql_datetime] --Convert the unix timestamp to a sql datetime.
,dateadd(day, 1, dateadd(second, @unixdate, @unixstartdate)) AS [updated_sql_datetime] --Add your dayparts. Here we add 1 day.
,datediff(second, @unixstartdate, dateadd(day, 1, dateadd(second, @unixdate, @unixstartdate))) --Convert the updated sql datetime back to unix.
那麼它的秒數如此加60 * 60 * 24? –
同意@AlexK。 (S,1492560000,'1970-01-01'),dateadd(S,1492560000 +(60 * 60 * 24),'1970-01-01')' – scsimon