我刚看到MID()和SUBSTRING()函数都返回相同的结果。我想知道两者有什么区别?功能使用是否与不同的别名相同?
SELECT MID('mysample',2,3);
SELECT SUBSTRING('mysample',2,3);
返回:ysa
答案 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()
。