在MYSQL中使用substring_index找不到值时为NULL

时间:2018-05-03 15:58:10

标签: mysql

我试图从我的MYSQL数据库中的一个大字段中传出2个值,为了实现这一点,我使用了substring_index函数。

该函数完全正常工作,直到它找到我在函数中寻找的值不存在的字段。当发生这种情况时,我只得到整个领域的一些随机部分。我想要发生的是,如果找不到函数的任何搜索值,只需返回NULL。

我使用的代码如下:

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

因此,如果“QF =”或“RF =”不在字段内,则返回NULL。

谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用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