gpt4 book ai didi

mysql - 如果逗号则获取子字符串,否则返回整个字符串

转载 作者:行者123 更新时间:2023-11-29 04:19:15 25 4
gpt4 key购买 nike

我将如何提取 SUNSTRING IF commas存在或如果不存在则返回整个字符串 commas找到了吗?

例如:

640 => 640
310,321,450 => 310
1024,5,78, 900 => 1024

我正在考虑做这样的事情:(假设这个字符串在一个名为 author_ids 的表行中)

[...]
WHERE SUBSTR(a.author_ids, 0, INSTR(a.author_ids, ',')) = b.author_id
OR a.author_ids = b.author_id
[...]

但这显然行不通。

谢谢。

附加信息:

大约有 10% 的“author_ids”拥有多个作者,所以 a.author_ids = b.author_id工作正常但有 ""null当有多个作者时。

最佳答案

这里有两种方法:

select substring_index(val, ',', 1)

select val + 0

第一个获取第一个逗号之前的所有内容。第二个将字符串转换为数字。第一个非数字字符(例如“,”)之后的所有字符(包括第一个非数字字符)都将被忽略。

您似乎将数字列表存储在逗号分隔的字符串中。这是一个坏主意。您可能应该考虑使用联结表,而不是将数字 存储为字符串,并将列表存储在字符串 而不是.

关于mysql - 如果逗号则获取子字符串,否则返回整个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30327291/

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