我们有一个sql表,机器在其中记录数据。为了更好地了解进程计时,我们希望减去时间戳,以便可以看到计时的变化。
有办法吗?下面是数据库中的表示例:
TS |Tag |Description |Value
--------------------------------------------------------------------------------------------
2020-06-12 14:13:12.253 |DB26_Mp370_MachineStatus |Machine Status |Event 4
2020-06-12 14:12:56.250 |DB26_Mp370_MachineStatus |Machine Status |Event 3
2020-06-12 14:12:26.250 |DB26_Mp370_MachineStatus |Machine Status |Event 2
2020-06-12 14:11:06.253 |DB26_Mp370_MachineStatus |Machine Status |Event 1
结果应该是:
TS |Tag |Description |Value |TimeDiff
---------------------------------------------------------------------------------------------------------
2020-06-12 14:13:12.253 |DB26_Mp370_MachineStatus |Machine Status |Event 4 | 16.003
2020-06-12 14:12:56.250 |DB26_Mp370_MachineStatus |Machine Status |Event 3 | 30.000
2020-06-12 14:12:26.250 |DB26_Mp370_MachineStatus |Machine Status |Event 2 | 19.997
2020-06-12 14:11:06.253 |DB26_Mp370_MachineStatus |Machine Status |Event 1 |
1条答案
按热度按时间5hcedyr01#
你问题的答案是
lag()
. 但是,不同数据库的日期/时间函数不同。这个想法是这样的:但是,并非所有数据库都必须支持
-
在“时间戳”上,所以您可能需要调整它。