mysql中mid和substring有什么区别?

时间:2016-01-18 11:32:57

标签: mysql

我刚看到MID()和SUBSTRING()函数都返回相同的结果。我想知道两者有什么区别?功能使用是否与不同的别名相同?

SELECT MID('mysample',2,3);

SELECT SUBSTRING('mysample',2,3); 

返回:ysa

2 个答案:

答案 0 :(得分:4)

MID()是MySQL中SUBSTRING()的同义词。

答案 1 :(得分:3)

正如MySQL documentation所说:

  

MID(str,pos,len)SUBSTRING(str,pos,len)的同义词。

文档还说MID()需要3个参数,而SUBSTRING()更灵活。 len参数是可选的。当它不存在时,该函数返回以pos开头的子字符串,直到字符串结束。

SUBSTRING(str, pos, len)
SUBSTRING(str, pos)

SUBSTRING()还允许更详细的语法(继承自标准SQL):

SUBSTRING(str FROM pos FOR len)
SUBSTRING(str FROM pos)

<强>更新

我刚刚在几个不同的MySQL安装(不同版本)上运行的一些测试表明,在当前版本的MySQL上,MID()只是SUBSTRING()的同义词,它还接受所有语法变体SUBSTRING()