我刚才看到 MID() 和 SUBSTRING() 函数返回相同的结果。我想知道它们之间有什么区别?这两个函数的使用方法是否相同,只是别名不同?
SELECT MID('mysample',2,3);
SELECT SUBSTRING('mysample',2,3);
returns : ysa
我刚才看到 MID() 和 SUBSTRING() 函数返回相同的结果。我想知道它们之间有什么区别?这两个函数的使用方法是否相同,只是别名不同?
SELECT MID('mysample',2,3);
SELECT SUBSTRING('mysample',2,3);
returns : ysa
MySQL文档
所述:
文档还指出,
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()
的所有语法变体。
MID()是MySQL中SUBSTRING()的同义词。