MySQL学习17:运算符与函数之字符函数

Posted life is wonderful

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL学习17:运算符与函数之字符函数相关的知识,希望对你有一定的参考价值。

      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' ;