1、LENGTH与CHAR_LENGTH函数
LENGTH:计算存储信息的字段长度,一个中文(汉字、符号)等于2或3字节(根据字符编码),一个数值或英文等于1直接;
CHAR_LENGTH:计算存储信息的字段字符数;
举例:
SELECT LENGTH('123'); //结果为3字节
SELECT LENGTH('你好123hello'); //结果为12字节
SELECT CHAR_LENGTH('123'); //结果为3字符
SELECT CHAR_LENGTH('你好123hello'); //结果为10字符
2、字符串截取函数
(1)、LEFT和RIGHT函数
LEFT(str,length):从左侧开始截取字符串str,截取长度为length;
RIGHT(str,length):从右侧开始截取字符串str,截取长度为length;
举例:
SELECT LEFT('12345',2); //结果为12
SELECT RIGHT('12345',2); //结果为45
(2)、SUBSTRING函数
第一种形式:
SUBSTRING(str,pos):从位置pos开始截取字符串str;
标准的SQL形式为:SUBSTRING(str FROM pos)
第二种形式:
SUBSTRING(str,pos,length):从位置pos开始截取字符串str,截取长度为length;
标准的SQL形式为:SUBSTRING(str FROM pos FOR length)
以上两种形式中参数pos可以为负数,表述从右侧数第|pos|个位置开始往右截取截取
举例:
SELECT SUBSTRING('12345',2); //结果为2345
SELECT SUBSTRING('12345',-2); //结果为45
SELECT SUBSTRING('12345',2,2); //结果为23
(3)、SUBSTRING_INDEX函数
SUBSTRING_INDEX(str,key_word,occur_times):从开始截取字符串str直到关键字key_word第occur_times次出现的位置上;若occur_times为负数,则从后向前数出现的次数。
举例:
SELECT SUBSTRING_INDEX('1234512345','2',2); //结果为123451
SELECT SUBSTRING_INDEX('1234512345','2',-2); //结果为34512345