MySQL字符函数
MySQL数据库中常用的字符函数有下面几个:
(1)字符连接
首先创建一个名字为imooc的数据库,然后再使用CONCAT()字符连接函数进行查询:
CREATE DATABASE imooc;
SELECT CONCAT(‘imooc‘,‘MySQL‘);
SELECT CONCAT(‘imooc‘,‘-‘,‘MySQL‘);
前期数据准备
CREATE TABLE test(
first_name VARCHAR(20),
last_name VARCHAR(10)
);
DESC test;
向test数据表中插入4条记录
INSERT test VALUES(‘A‘,‘B‘);
INSERT test VALUES(‘C‘,‘D‘);
INSERT test VALUES(‘tom%‘,‘123‘);
INSERT test VALUES(NULL,‘11‘);
我们要将test数据表中的两个字段合并起来一并进行查询并且取名字输出
SELECT * FROM test;
SELECT CONCAT(first_name,last_name) AS fullname FROM test;
(2)使用指定的分隔符进行字符连接
SELECT CONCAT_WS(‘|‘,‘A‘,‘B‘,‘C‘);
SELECT CONCAT_WS(‘-‘,‘imooc‘,‘MySQL‘,‘Functions‘);
(3)数字格式化
数字格式化函数FORMAT()返回的结果是四舍五入后的保留指定小数位数的结果。
SELECT FORMAT(12560.74,2);
SELECT FORMAT(12560.74,1);
SELECT FORMAT(12560.74,0);
(4)转换成小写字母和转换成大写字母
SELECT LOWER(‘MySQL‘);
SELECT UPPER(‘mysql‘);
(5)获取左侧字符和获取右侧字符
获取的字符个数是指定位数的左侧或右侧字符。
SELECT LEFT(‘MySQL‘,2);
SELECT LOWER(LEFT(‘MySQL‘,2));
SELECT RIGHT(‘MySQL‘,3);
(6)获取字符串长度(包含空格)
SELECT LENGTH(‘MySQL‘);
SELECT LENGTH(‘My SQL‘);
(7)删除前导空格和删除后续空格以及同时删除前导和后续空格
SELECT LTRIM(‘ MySQL ‘);
SELECT LENGTH(‘ MySQL ‘);
SELECT LENGTH(LTRIM(‘ MySQL ‘));
SELECT LENGTH(RTRIM(‘ MySQL ‘));
SELECT LENGTH(TRIM(‘ MySQL ‘));
(8)TRIM()函数的同时删除其他字符
SELECT TRIM(LEADING ‘?‘ FROM ‘??MySQL???‘);
SELECT TRIM(TRAILING ‘?‘ FROM ‘??MySQL???‘);
SELECT TRIM(BOTH ‘?‘ FROM ‘??MySQL???‘);
(9)字符串替换函数
TRIM()函数只能去掉字符串的前导和后续的问号,这就需要使用字符串替换函数来进行替换
SELECT TRIM(BOTH ‘?‘ FROM ‘??My??SQL???‘);
SELECT REPLACE(‘??My??SQL???‘,‘?‘,‘‘);
(10)字符串截取函数
MySQL数据库中的字符串截取索引是从1开始的。这个函数也支持负数,也就是从后面开始截取。
SELECT SUBSTRING(‘MySQL‘,1,2);
SELECT SUBSTRING(‘MySQL‘,3);
SELECT SUBSTRING(‘MySQL‘,-1);
(11)模式匹配
%(百分号):代表任意个字符。
_(下划线):代表任意一个字符。
SELECT ‘MySQL‘ LIKE ‘M%‘;
SELECT * FROM test WHERE first_name LIKE ‘%o%‘;
SELECT * FROM test WHERE first_name LIKE ‘%1%%‘ ESCAPE ‘1‘ ;