下面的语句产生了 vendor_name 中第一个单词之后的所有内容。我需要它在使用子字符串时仅产生 vendor_name 中的第二个词。如果为 NULL,我还需要它返回一个空白字段。这可能吗?
select substring_index(vendor_name, ' ',-2) as 'Second Word'
from vendors;
编辑:我认为它需要遵循这些思路,但我无法让它工作: substring_index(substring_index(vendor_name, ' ', -2)vendor_name, ' ', 1) 作为 '第二个字'
最佳答案
如果您只想要第二个词,我会得到前两个词,然后从结果中选择最后一个词。这可以处理您可能有四个或更多单词的情况。
mysql> select substring_index('one two three four', ' ', 2) as s;
+---------+
| s |
+---------+
| one two |
+---------+
mysql> select substring_index(substring_index('one two three four', ' ', 2), ' ', -1) as s;
+-----+
| s |
+-----+
| two |
+-----+
关于mysql - 在MySQL中使用子字符串从字符串中过滤特定的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46817607/