MySQL 中的 mid 和 substring 函數(shù)可以被用來截取字符串中的一部分。這兩個函數(shù)主要的區(qū)別就在于參數(shù)的不同,具體來說,mid 使用的參數(shù)是起始位置和截取的長度,而 substring 使用的則是起始位置和結(jié)束位置
SELECT MID('MySQL is cool', 6, 2); -- 輸出 'is' SELECT SUBSTRING('MySQL is cool', 6, 2); -- 輸出 'is' SELECT SUBSTRING('MySQL is cool', 6); -- 輸出 'is cool'
在使用這兩個函數(shù)時需要注意的是,MySQL 中的起始位置是從1開始的,而且如果截取的長度或結(jié)束位置超過了字符串的長度,函數(shù)會自動將其截斷
SELECT MID('MySQL is cool', 6, 100); -- 輸出 'is cool' SELECT SUBSTRING('MySQL is cool', 6, 100); -- 輸出 'is cool' SELECT MID('MySQL is cool', 100, 2); -- 輸出 '' SELECT SUBSTRING('MySQL is cool', 100); -- 輸出 ''
最后,Mid 和 Substring 函數(shù)還可以嵌套使用,用于截取更加復(fù)雜的字符串
SELECT MID(SUBSTRING('MySQL is cool', 6), 1, 2); -- 輸出 'is'