MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。 由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。

字符串是 MySQL 是最常用的的一种函数,在一个具体应用中通常会综合几个甚至几类函数来实现相应的应用:

1、LOWER(column|str):将字符串参数值转换为全小写字母后返回

mysql> select lower('SQL Course');
+---------------------+
| lower('SQL Course') |
+---------------------+
| sql course          |
+---------------------+

复制代码
2、UPPER(column|str):将字符串参数值转换为全大写字母后返回mysql> select upper('Use

MYsql');
+--------------------+
| upper('Use MYsql') |
+--------------------+
| USE MYSQL          |
+--------------------+

复制代码

3、CONCAT(column|str1, column|str2,...):将多个字符串参数首尾相连后返回mysql> select concat('My','S','QL');
+-----------------------+
| concat('My','S','QL') |
+-----------------------+
| MySQL                 |
+-----------------------+

复制代码
如果有任何参数为 null,则函数返回 null

mysql> select concat('My',null,'QL');
+------------------------+
| concat('My',null,'QL') |
+------------------------+
| NULL                   |
+------------------------+

复制代码
如果参数是数字,则自动转换为字符串

mysql> select concat(14.3,'mysql');
+----------------------+
| concat(14.3,'mysql') |
+----------------------+
| 14.3mysql            |
+----------------------+

复制代码
4、CONCAT_WS(separator,str1,str2,...):将多个字符串参数以给定的分隔符 separator 首尾相连后返回

mysql> select concat_ws(';','First name','Second name','Last name');
+-------------------------------------------------------+
| concat_ws(';','First name','Second name','Last name') |
+-------------------------------------------------------+
| First name;Second name;Last name                      |
+-------------------------------------------------------+

复制代码
!!也就是函数圆括号里的第一个项目用来指定分隔符

注意:如果有任何参数为 null,则函数不返回 null,而是直接忽略它

mysql> select concat_ws(',','id',null,'name');
+---------------------------------+
| concat_ws(',','id',null,'name') |
+---------------------------------+
| id,name                         |
+---------------------------------+

复制代码
打开和关闭管道符号“|”的连接功能

PIPES_AS_CONCAT:将“||”视为字符串的连接操作符而非或运算符

|| 管道连接符:

基本格式:

mysql> select 列名 1 || 列名 2 || 列名 3 from 表名;

在 mysql 中,进行上式连接查询之后,会将查询结果集在一列中显示(字符串连接),列名是‘列名 1 || 列名 2 || 列名 3’;

mysql> select s_no || s_name || s_age-> from student;
+-------------------------+
| s_no || s_name || s_age |
+-------------------------+
| 1001张三23              |
| 1002李四19              |
| 1003马五20              |
| 1004甲六17              |
| 1005乙七22              |
+-------------------------+

复制代码
注意:

①如果不显示结果,是因为 sql_mode 参数中没有 PIPES_AS_CONCAT,只要给 sql_mode 参数加入 PIPES_AS_CONCAT,就可以实现像 CONCAT 一样的功能;

②如果不给 sql_mode 参数加入 PIPES_AS_CONCAT 的话,|| 默认是 or 的意思,查询结果是一列显示是 1。

5、SUBSTR(str,pos[,len]):从源字符串 str 中的指定位置 pos 开始取一个字串并返回

注意:

①len 指定子串的长度,如果省略则一直取到字符串的末尾;len 为负值表示从源字符串的尾部开始取起。

②函数 SUBSTR()是函数 SUBSTRING()的同义词。

mysql> select substring('hello world',5);
+----------------------------+
| substring('hello world',5) |
+----------------------------+
| o world                    |
+----------------------------+mysql> select substr('hello world',5,3);
+---------------------------+
| substr('hello world',5,3) |
+---------------------------+
| o w                       |
+---------------------------+mysql> select substr('hello world',-5);
+--------------------------+
| substr('hello world',-5) |
+--------------------------+
| world                    |
+--------------------------+

复制代码
6、LENGTH(str):返回字符串的存储长度

mysql> select length('text'),length('你好');
+----------------+------------------+
| length('text') | length('你好')   |
+----------------+------------------+
|              4 |                6 |
+----------------+------------------+

复制代码
注意:编码方式不同字符串的存储长度就不一样(‘你好’:utf8 是 6,gbk 是 4)

7、CHAR_LENGTH(str):返回字符串中的字符个数


mysql> select char_length('text'),char_length('你好');
+---------------------+-----------------------+
| char_length('text') | char_length('你好')   |
+---------------------+-----------------------+
|                   4 |                     2 |
+---------------------+-----------------------+

复制代码
8、INSTR(str, substr):从源字符串 str 中返回子串 substr 第一次出现的位置

mysql> select instr('foobarbar','bar');
+--------------------------+
| instr('foobarbar','bar') |
+--------------------------+
|                        4 |
+--------------------------+

复制代码

9、LPAD(str, len, padstr):在源字符串的左边填充给定的字符 padstr 到指定的长度 len,返回填充

后的字符串

mysql> select lpad('hi',5,'??');
+-------------------+
| lpad('hi',5,'??') |
+-------------------+
| ???hi             |
+-------------------+

复制代码
10、RPAD(str, len, padstr):在源字符串的右边填充给定的字符 padstr 到指定的长度 len,返回填充后的字符串

mysql> select rpad('hi',6,'??');
+-------------------+
| rpad('hi',6,'??') |
+-------------------+
| hi????            |
+-------------------+

复制代码
11、TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str), TRIM([remstr FROM] str):

从源字符串 str 中去掉两端、前缀或后缀字符 remstr 并返回;

如果不指定 remstr,则去掉 str 两端的空格;

不指定 BOTH、LEADING、TRAILING ,则默认为 BOTH。

mysql> select trim('  bar  ');
+-----------------+
| trim('  bar  ') |
+-----------------+
| bar             |
+-----------------+mysql> select trim(leading 'x' from 'xxxbarxxx');
+------------------------------------+
| trim(leading 'x' from 'xxxbarxxx') |
+------------------------------------+
| barxxx                             |
+------------------------------------+mysql> select trim(both 'x' from 'xxxbarxxx');
+---------------------------------+
| trim(both 'x' from 'xxxbarxxx') |
+---------------------------------+
| bar                             |
+---------------------------------+mysql> select trim(trailing 'xyz' from 'barxxyz');
+-------------------------------------+
| trim(trailing 'xyz' from 'barxxyz') |
+-------------------------------------+
| barx                                |
+-------------------------------------+

复制代码
12、REPLACE(str, from_str, to_str):在源字符串 str 中查找所有的子串 form_str(大小写敏感),找到后使用替代字符串 to_str 替换它。返回替换后的字符串mysql> select

replace('www.mysql.com','w','Ww');
+-----------------------------------+
| replace('www.mysql.com','w','Ww') |
+-----------------------------------+
| WwWwWw.mysql.com                  |
+-----------------------------------+

复制代码

13、LTRIM(str),RTRIM(str):去掉字符串的左边或右边的空格(左对齐、右对齐)mysql> SELECT  ltrim('   barbar   ') rs1, rtrim('   barbar   ') rs2;
+-----------+-----------+
| rs1       | rs2       |
+-----------+-----------+
| barbar    |    barbar |
+-----------+-----------+

复制代码

14、REPEAT(str, count):将字符串 str 重复 count 次后返回mysql> select repeat('MySQL',3);
+-------------------+
| repeat('MySQL',3) |
+-------------------+
| MySQLMySQLMySQL   |
+-------------------+

复制代码

15、REVERSE(str):将字符串 str 反转后返回mysql> select reverse('abcdef');
+-------------------+
| reverse('abcdef') |
+-------------------+
| fedcba            |
+-------------------+

复制代码

16、CHAR(N,... [USING charset_name]):将每个参数 N 解释为整数(字符的编码),并返回每个整数对应的字符所构成的字符串(NULL 值被忽略)。mysql> select char(77,121,83,81,'76'),char(77,77.3,'77.3');
+-------------------------+----------------------+
| char(77,121,83,81,'76') | char(77,77.3,'77.3') |
+-------------------------+----------------------+
| MySQL                   | MMM                  |
+-------------------------+----------------------+

复制代码

默认情况下,函数返回二进制字符串,若想返回针对特定字符集的字符串,使用 using 选项mysql> SELECT charset(char(0x65)), charset(char(0x65 USING utf8));
+---------------------+--------------------------------+
| charset(char(0x65)) | charset(char(0x65 USING utf8)) |
+---------------------+--------------------------------+
| binary              | utf8                           |
+---------------------+--------------------------------+

复制代码
17、FORMAT(X,D[,locale]):以格式‘#,###,###.##’格式化数字 X

D 指定小数位数

locale 指定国家语言(默认的 locale 为 en_US)mysql> SELECT format(12332.123456,

4),format(12332.2,0);
+-------------------------+-------------------+
| format(12332.123456, 4) | format(12332.2,0) |
+-------------------------+-------------------+
| 12,332.1235             | 12,332            |
+-------------------------+-------------------+mysql> SELECT format(12332.2,2,'de_DE');
+---------------------------+
| format(12332.2,2,'de_DE') |
+---------------------------+
| 12.332,20                 |
+---------------------------+

复制代码

18、SPACE(N):返回由 N 个空格构成的字符串mysql> select space(3);
+----------+
| space(3) |
+----------+
|          |
+----------+

复制代码

19、LEFT(str, len):返回最左边的 len 长度的子串mysql> select left('chinaitsoft',5);
+-----------------------+
| left('chinaitsoft',5) |
+-----------------------+
| china                 |
+-----------------------

+
 
复制代码

20、RIGHT(str, len):返回最右边的 len 长度的子串mysql> select right('chinaitsoft',5);
+------------------------+
| right('chinaitsoft',5) |
+------------------------+
| tsoft                  |
+-----------------------

-+
 
复制代码
21、STRCMP(expr1,expr2):如果两个字符串是一样的则返回 0;如果第一个小于第二个则返回-1;否则返回 1

mysql> select strcmp('text','text');
+-----------------------+
| strcmp('text','text') |
+-----------------------+
|                     0 |
+-----------------------+mysql> SELECT strcmp('text', 'text2'),strcmp('text2', 'text');
+-------------------------+-------------------------+
| strcmp('text', 'text2') | strcmp('text2', 'text') |
+-------------------------+-------------------------+
|                      -1 |                       1 |
+-------------------------+-------------------------+

复制代码

小伙伴们有兴趣想了解内容和更多相关学习资料的请点赞收藏+评论转发+关注我,后面会有很多干货。
我有一些面试题、架构、设计类资料可以说是程序员面试必备!所有资料都整理到网盘了,需要的话欢迎下载!私信我回复【07】即可免费获取

版权声明:本文为CSDN博主「普通网友」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_70565884/article/details/124946739

MySQL 不能没有字符串函数,就像西方不能失去耶路撒冷相关推荐

  1. php mysql 随机字符串函数是,mysql生成随机字符串函数分享

    这篇文章主要介绍了mysql生成随机字符串函数分享,本文直接给出实现代码,需要的朋友可以参考下 set global log_bin_trust_function_creators = 1; DROP ...

  2. mysql学习-常用的函数(字符串函数)

    mysql中的字符串函数 函数 功能 CONCAT(s1,s2,...sn) 连接s1,s1...sn为一个字符串 INSERT(str,x,y,instr) 将字符串str从x位置开始,y个字符长的 ...

  3. mysql函数汇总之字符串函数

    字符串函数主要用来处理数据库中的字符串数据.mysql中的字符串函数有计算字符串长度函数.字符串合并函数.字符串替换函数.字符串比较函数.查找指定字符串位置函数等. 计算字符串字符数的函数 CHAR_ ...

  4. ySQL字符串函数substring:字符串截取 +判断是否包含某个字符的方法

    一>MySQL字符串函数substring:字符串截取 MySQL 字符串截取函数:left(), right(), substring(), substring_index().还有 mid( ...

  5. MySQL 学习笔记(3)— 字符串函数、数值函数、日期时间函数、流程函数、聚集函数以及分组数据

    1. 字符串函数 MySQL 的常用函数包括字符串函数.数值函数.日期时间函数.流程函数等. SELECT ascii("abc"),char(97),concat("h ...

  6. mysql 1100字符后没了_mysql的字符串函数

    时常想一句sql完成某个需求,不想写脚本,总是想'咦,mysql中有没有类似php的这个函数',遂一次总结好,平常多看看,省的每次都临时去查 特别说明:在mysql中对于针对字符串位置的操作,总是从1 ...

  7. MySQL字符串函数

    字符串大写和小写转换 MySQL 字符串大写和小写转化函数有两对: lower(), uppper() 和 lcase(), ucase() mysql> select lower('DDD') ...

  8. mysql strcmp s1 s2_MySQL函数基础——字符串函数详解

    昨天,咱们对MySQL的数学函数进行了讲解,今天,咱们再来解析MySQL字符串函数. 字符串函数主要用来处理数据库中的字符串数据,MySQL中字符串函数有:计算字符串长度函数.字符串合并函数.字符串替 ...

  9. mysql 乘法拼接字符串_【原创】利用MySQL 的GROUP_CONCAT函数实现聚合乘法

    MySQL 聚合函数里面提供了加,平均数,最小,最大等,但是没有提供乘法,我们这里来利用MYSQL现有的GROUP_CONCAT函数实现聚合乘法. 先创建一张示例表:CREATE TABLE `tb_ ...

最新文章

  1. 有哪些高效看文献的方法?
  2. mongodb 只查询某个字段
  3. Java 将中缀表达式转换成后缀表达式
  4. 多出口冗余网络设计方案
  5. android框架连接mysql_三层架构 android访问MSSQL数据库 程序 (服务器端)
  6. 编程一年来的疑惑和思考
  7. hdu1864 最大报销额(01背包)
  8. 400多款微信公众号小游戏源码集合源码
  9. 常见打印机故障有哪些
  10. PDF编辑器中文版免费下载哪里可以下载?
  11. 4. 木马病毒和免杀技术,另一种免杀思路
  12. 兼容 iOS retina 高清屏
  13. iOS日常开发之常用单词、名词注释
  14. 题1000、1001、1002
  15. Graylog日志简介
  16. cv曲线面积的意义_耳机的瀑布图真的有意义吗?关于耳机的瀑布图,你需要知道的。...
  17. 计算机系统组成及工作原理PPT,第二章 计算机基础知识 2.1 计算机系统的组成与工作原理 2.2 数制转换及运算 2.3 数据在计算机中的表示....
  18. 测试面试题——三角形
  19. 全球人气果汁机的马达电机辐射超标整改—原汁原味
  20. 计算机毕业设计ssm物流站环境监测系统

热门文章

  1. 多网卡情况,使用静态路由,为访问目标网络指定路径
  2. linux不识别sda,linux – 无法挂载’/ dev / sda’
  3. 《简明电路分析》——1.2节电学主要参数
  4. Tomcat配置https方式访问
  5. InnoDB ReplicaSet
  6. 设计中的设计-设计的意义
  7. 基于 RDD 的分布式数据处理实验(pyspark)
  8. 利用百度云盘同步Zotero
  9. POW,POS,DPOS共识机制简单介绍
  10. 【前端开发基础】CSS基础知识以及CSS3