在Java中有indexOf()
方法就能判断一个字符串是否是另外一个字符串的子字符串,那在SQL中没有IndexOf()
方法怎么办,没关系,还有LOCATE
,下来举个例子就会用了:
比如看一下字符串’is’是否在字符串’This is a test.’中存在:
mysql> SELECT LOCATE('is','This is a test.') \G;
*************************** 1. row ***************************
LOCATE('is','This is a test.'): 3
1 row in set (0.00 sec)
可以看到输出结果是3,那么就是在第3个位置出现了’is’,注意SQL中字符串的起始位置下标是1。
假如没有包含关系呢,看一下:
mysql> SELECT LOCATE('are','This is a test.') \G;
*************************** 1. row ***************************
LOCATE('are','This is a test.'): 0
1 row in set (0.00 sec)
可以看到输出结果是0,那么如果不存在,则输出0,注意这与我们一般的不存在输出-1不一样哈。