在MYSQL中使用子字符串_索引未找到值时为NULL

在MYSQL中使用子字符串_索引未找到值时为NULL,mysql,Mysql,我试图从MYSQL数据库中的一个大字段中传递2个值,为此,我使用了substring_index函数 函数完全按照它应该的方式工作,直到它到达一个我在函数中查找的值不存在的字段为止。当这种情况发生时,我只得到整个场的一些随机部分。我想做的是,如果找不到函数的任何一个搜索值,只需返回NULL 我使用的代码如下: select id, substring_index(substring_index(field, 'QF=',-1), 'RF=',1) as gscore from tablenam

我试图从MYSQL数据库中的一个大字段中传递2个值,为此,我使用了substring_index函数

函数完全按照它应该的方式工作,直到它到达一个我在函数中查找的值不存在的字段为止。当这种情况发生时,我只得到整个场的一些随机部分。我想做的是,如果找不到函数的任何一个搜索值,只需返回NULL

我使用的代码如下:

select id,
substring_index(substring_index(field, 'QF=',-1), 'RF=',1) as gscore
from 
tablename
因此,简而言之,如果“QF=”或“RF=”不在字段内,则返回NULL

谢谢

您可以使用函数来实现这一点

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