MID()和SUBSTR()都是SUBSTRING()的同义词。
基本语法是这样的:
MID(str,pos,len)
这里,str是字符串,pos是起始子字符串的位置,len是一个可选参数,它决定从起始位置返回的字符数。
这个函数有几种不同的使用方法,所以完整的语法看起来是这样的:
MID(str,pos) MID(str FROM pos) MID(str,pos,len) MID(str FROM pos FOR len)
例1 -基本用法
下面是MID(str,pos)语法的一个例子:
SELECT MID('I drink coffee', 3) Result;
结果:
+--------------+ | Result | +--------------+ | drink coffee | +--------------+
在本例中,我从字符串中取一个子字符串,从位置3开始。
例2 -使用FROM子句
这次使用的是MID(str FROM pos)语法:
SELECT MID('I drink coffee' FROM 3) Result;
结果:
+--------------+ | Result | +--------------+ | drink coffee | +--------------+
结果是一样的。
在本例中,FROM是标准SQL。注意,该语法不使用逗号。
例3 -指定长度
在这个例子中,我使用了MID(str,pos,len)语法:
SELECT MID('I drink coffee', 3, 5) Result;
结果:
+--------+ | Result | +--------+ | drink | +--------+
这里我指定返回的子字符串长度为5个字符。
例4 -指定长度(使用FOR子句)
在这个例子中,我使用了MID(str FROM pos FOR len)语法:
SELECT MID('I drink coffee' FROM 3 FOR 5) Result;
结果:
+--------+ | Result | +--------+ | drink | +--------+
因此,这一次我们使用标准SQL来实现相同的结果。