gpt4 book ai didi

php - MySQL条件选择替换查询

转载 作者:行者123 更新时间:2023-11-29 06:46:08 28 4
gpt4 key购买 nike

我发现自己需要替换 MySQL Select Query 的某些返回结果。我有下表和数据(为示例目的而简化)

uid  |  duration |  range |     unique |    stamp
-----------------------------------------------------------------
23 | d | 43 | 1 | 1
24 | d | 65 | 0 | 2
25 | d | 76 | 0 | 3
26 | d | 33 | 0 | 4
27 | d | 44 | 1 | 5
28 | d | 43 | 1 | 6
29 | d | 67 | 0 | 7
30 | d | 88 | 0 | 8
31 | d | 63 | 0 | 9

stamp 列是我想要进行替换的内容。我想知道是否可以在列上运行某种用户定义的函数并动态替换它,而不是简单的文本替换。

例如,如果时间戳列中返回的数据是 1,我希望将其替换为今天的时间戳,如果是 2,则为昨天的时间戳,如果为 3,则为前天的时间戳,依此类推.

所以我的问题是,是否可以将 REPLACE 指向一个函数,该函数处理该值然后返回替换它的内容。或者,如果没有,是否有另一种方法可以实现此目的。

我显然可以在 PHP 中对返回的数据进行后处理并进行更改,但是如果返回数百万条记录,这将大大增加加载时间。

编辑以使事情更清楚:我想替换从 SELECT 查询返回的数据中的戳记列,我没有将数据存储在任何地方,也没有替换表中的数据。该表将保持不变。

谢谢

最佳答案

绝对可能:

UPDATE stamps
SET stamp = CURRENT_DATE - INTERVAL stamp - 1 DAY;

Fiddle here 。请注意,对于 1 的戳记,您必须将戳记值减 1 到“负 0 天” .如果删除 - 1 ,您最终将存储昨天的日期 stamp 1 的值.

更新 以回答关于 SELECT 的问题:

SELECT CURRENT_DATE - INTERVAL stamp - 1 DAY
FROM stamps;

Updated Fiddle here

关于php - MySQL条件选择替换查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18614935/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com