在mysql中使用子字符串索引未找到值时为null

qnzebej0  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(339)

我试图从mysql数据库中的一个大字段中传递2个值,为此我使用substring\u index函数。
函数完全按照它应该的方式工作,直到它到达一个我在函数中查找的值不存在的字段为止。当这种情况发生时,我只得到整个区域的随机部分。我想发生的是,如果找不到函数的任何一个搜索值,只需返回null。
我使用的代码如下:

select id,
substring_index(substring_index(field, 'QF=',-1), 'RF=',1) as gscore
from 
tablename

因此,简而言之,如果“qf=”或“rf=”不在字段内,则返回null。
谢谢

46scxncf

46scxncf1#

你可以用if函数来实现。

select id,
   IF(substring_index(substring_index(field, 'QF=',-1), 'RF=',1)=field,NULL,
   substring_index(substring_index(field, 'QF=',-1), 'RF=',1)) as gscore
from 
tablename

相关问题