gpt4 book ai didi

mysql - 如何在Mysql中做select if else语句

转载 作者:行者123 更新时间:2023-11-28 23:28:48 24 4
gpt4 key购买 nike

示例数据:

[{url: bing.com},
{url: bing.com/search?q=test},
{url: bing.com/efesdf+sdsdksd}]

我想返回“?”之前的所有 url 字符串或“+”,这意味着它将返回 bing.com/search 用于第二个 url 和 bing.com/efesdf 用于第三个,删除“?”之后的任何内容或“+”

因此我尝试了下面的代码

SELECT substring(url,1,instr(pattern,'?')-1) FROM testTable;

然而,在没有“?”的情况下执行此 url将显示为“”,是否可以执行类似

的 if 语句
if (url.includes('?')){
SELECT substring(url,1,instr(url,'?')-1)
}
else if (url.includes('+')){
SELECT substring(url,1,instr(url,'+')-1)}
}
else{
SELECT URL
}
FROM testTable;

如果我想选择 * 并仅更改 url 怎么办?

请协助,谢谢。

最佳答案

也许你需要这个;)

SELECT
*,
CASE WHEN LOCATE('?', url) THEN LEFT(url, LOCATE('?', url) - 1)
WHEN LOCATE('+', url) THEN LEFT(url, LOCATE('+', url) -1)
ELSE url END AS editedUrl
FROM testTable;

检查 SQLFiddle DEMO HERE .

关于mysql - 如何在Mysql中做select if else语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38136865/

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