sonlia 发表于 2024-8-21 14:16:10

数据库更新有问题

我有个数据要更新到表,但是我发现按照时间更新的数据是错的,

Simon.Sun 发表于 2024-8-21 14:16:11

您好,这个是活字格的策略,日期的等于判断相当于是去过滤一个时间段内的数据,所以会去做处理,举个例子:
如果过滤的值为 2024-1-1,则表示查询 1 月 1 号当天的数据,过滤条件就会为:

同理,如果过滤的值为 2024-1-1 12:30:00,则表示过滤 12:30 这一分钟的数据,所以过滤条件就为:

如果我们先做时间的精确比较的话,可以这样去设置过滤条件:




sonlia 发表于 2024-8-22 11:51:39

Simon.Sun 发表于 2024-8-22 10:59
您好,这个是活字格的策略,日期的等于判断相当于是去过滤一个时间段内的数据,所以会去做处理,举个例子: ...

对啊,所以[日期]>=2024/8/14 1:00:00 and [日期]< 2024/8/14 1:01:00)这个应该是[日期]>=2024/8/14 1:00:00 and [日期]< 2024/8/14 1:00:00),生成的怎么多了1分钟呢

sonlia 发表于 2024-8-22 14:03:10

Simon.Sun 发表于 2024-8-22 10:59
您好,这个是活字格的策略,日期的等于判断相当于是去过滤一个时间段内的数据,所以会去做处理,举个例子: ...

以后碰到时间精确的智能 按照你说的 方式取过滤? 直接等于就不行了对吧。

Simon.Sun 发表于 2024-8-22 16:42:55

嗯,小时和分钟的策略是一致的,按分钟走。
精确按时间点查询的话可以使用上面我回复截图去设置查询条件。

sonlia 发表于 2024-8-23 11:07:41

Simon.Sun 发表于 2024-8-22 16:42
嗯,小时和分钟的策略是一致的,按分钟走。
精确按时间点查询的话可以使用上面我回复截图去设置查询条件。

这个是自带数据库,如果是pg 也要这样操作吗,或者存储成字符串?感觉这个增加了心智。打破了正常的思路。

Simon.Sun 发表于 2024-8-23 17:06:36

是的,外联数据库日期过滤也是这个策略。

页: [1]
查看完整版本: 数据库更新有问题