【问题标题】:Converting PostgreSql timestamp query to MS SQL/Azure SQL将 PostgreSql 时间戳查询转换为 MS SQL/Azure SQL
【发布时间】:2021-12-05 13:22:57
【问题描述】:

我目前正在将一些基本的 sql 脚本从 Postgresql 转换为 Azure Sql。我是 sql 的新手,但我真的无法理解 Azure SQL / SQL Server 中的纪元/unix 时间。我的应用程序使用 bigint 纪元时间作为事件时间戳,我想为数据库和存储事件的表制作一个管家脚本。

您如何在 MS 或 Azure SQL 中处理纪元时间间隔? Azure SQL 中与以下查询等效的是什么?

SELECT count(*) FROM info_event WHERE event_time < (SELECT cast(EXTRACT(epoch FROM current_timestamp - INTERVAL '1 MONTH') AS bigint) * 1000); 

【问题讨论】:

  • 这里有很多如何将日期和时间值转换为纪元的示例;这些例子有什么问题?您对它们有什么不了解或为什么它们不适用于您的场景?
  • 我无法理解如何在 MSSQL 中使用纪元时间间隔

标签: sql-server azure-sql-database epoch


【解决方案1】:

解决办法是。

SELECT * FROM table WHERE epoch_column < (SELECT cast(DATEDIFF(second,'1970-01-01 00:00:00',(DATEADD(month,-1,GETDATE())))AS bigint)* 1000 );

感谢您的帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-15
    • 2019-12-25
    相关资源
    最近更新 更多