找回密码
 立即注册

QQ登录

只需一步,快速开始

cucme

高级会员

113

主题

350

帖子

1289

积分

高级会员

积分
1289

时代开发者征文活动

cucme
高级会员   /  发表于:2024-7-3 14:28  /   查看:809  /  回复:7
10金币
我需要根据设备的上次更新时间和当前时间对比,如果超过某个范围判断设备为离线

在表格中直接写公式可以实现,但是不能做数据库查询,筛选在线、离线


所以想着用公式字段


但是公式字段里使用的now()函数似乎只在生成的那一刻生成,后续不再变化?


怎么办?


附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

7 个回复

倒序浏览
玉轩悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2024-7-3 15:34:30
沙发
你可以更新一下表格里的一个字段,时间 就会变

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
cucme
高级会员   /  发表于:2024-7-4 09:05:07
板凳
玉轩 发表于 2024-7-3 15:34
你可以更新一下表格里的一个字段,时间 就会变

每次查询要把所有记录更新一遍,有点不合理。   或许我这个问题应该是如何实现这种情况的搜索。
回复 使用道具 举报
小萝卜David
金牌服务用户   /  发表于:2024-7-4 09:48:44
地板



求:NOW() - AL12 - 0.02 > 0
假设AL12是字段 上次更新日期,可得
NOW() - 上次更新日期 - 0.02 > 0
=>
NOW() - 上次更新日期 - 0.02 + 上次更新日期 > 0 + 上次更新日期
=>
NOW()  - 0.02 > 上次更新日期
=>
上次更新日期 < NOW() - 0.02




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
cucme
高级会员   /  发表于:2024-7-4 14:08:10
5#
小萝卜David 发表于 2024-7-4 09:48
求:NOW() - AL12 - 0.02 > 0
假设AL12是字段 上次更新日期,可得
NOW() - 上次更新日期 - 0.02 >  ...



里面有两个字段要参与计算,所以在搜索条件里不知道怎么安放


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Nathan.guo活字格认证 Wyn认证
超级版主   /  发表于:2024-7-5 14:19:36
6#
cucme 发表于 2024-7-4 14:08
里面有两个字段要参与计算,所以在搜索条件里不知道怎么安放

我们公式字段可以只计算 [update_at] + [sleep_duty]/86400 + 0.02,可以把这个当作过期时间

那么查询时只需要比较这个过期时间和now就可以了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
cucme
高级会员   /  发表于:2024-7-5 15:59:01
7#
Nathan.guo 发表于 2024-7-5 14:19
我们公式字段可以只计算  + [sleep_duty]/86400 + 0.02,可以把这个当作过期时间

那么查询时只需要比 ...

这个方法试过,很奇怪,计算出来的不是时间,也不能用Text()函数格式化
回复 使用道具 举报
Nathan.guo活字格认证 Wyn认证
超级版主   /  发表于:2024-7-5 16:09:09
8#
本帖最后由 Nathan.guo 于 2024-7-23 17:54 编辑
cucme 发表于 2024-7-5 15:59
这个方法试过,很奇怪,计算出来的不是时间,也不能用Text()函数格式化

可以i检查下是不是公式字段的字段类型不对

同时,如果大佬使用的是外联数据库的话,也可以检查下外联数据库的字段类型是否可以被计算或按照特定方式查询~~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部