gpt4 book ai didi

mysql - 如何将函数的结果存储到变量中?

转载 作者:行者123 更新时间:2023-11-29 10:42:08 25 4
gpt4 key购买 nike

请看一下:

SELECT calculate_both_score_and_reputation(u.id) AS sr FROM users u

它返回类似这样的内容:

+----------+
| sr |
+----------+
| 0,1322 |
| 3, 232 |
| -2, 9978 |
| 31, 5745 |
+----------+
<小时/>

现在我想将该函数的结果拆分为两个不同的列:

SELECT SUBSTRING_INDEX(calculate_both_score_and_reputation(u.id),',', 1) AS s,
SUBSTRING_INDEX(calculate_both_score_and_reputation(u.id),',', -1) AS r,
FROM users u

结果如下:

+----+------+
| s | r |
+----+------+
| 0 | 1322 |
| 3 | 232 |
| -2 | 9978 |
| 31 | 5745 |
+----+------+
<小时/>

结果符合预期。但正如您所看到的,该函数将被调用两次。现在我想知道,如何调用该函数一次并将结果存储在变量中,然后解析该变量?

最佳答案

您可以简单地将查询放在子查询中,并使用外部查询中函数返回的值:

SELECT SUBSTRING_INDEX(sr,',', 1) AS s,
SUBSTRING_INDEX(sr,',', -1) AS r
FROM (
SELECT calculate_both_score_and_reputation(u.id) AS sr
FROM users u) AS t

关于mysql - 如何将函数的结果存储到变量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45273541/

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