我的编程空间,编程开发者的网络收藏夹
学习永远不晚

对照Oracle,MySQL的几个使用字符串函数

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

对照Oracle,MySQL的几个使用字符串函数

[PHP]

1、concat()函数
1.1 MySQL的concat函数可以连接一个或者多个字符串,如
mysql> select concat('10');
+--------------+
| concat('10') |
+--------------+
| 10 |
+--------------+
1 row in set (0.00 sec)

mysql> select concat('11','22','33');
+------------------------+
| concat('11','22','33') |
+------------------------+
| 112233 |
+------------------------+
1 row in set (0.00 sec)

而Oracle的concat函数只能连接两个字符串
SQL> select concat('11','22') from dual;

1.2 MySQL的concat函数在连接字符串的时候,只要其中一个是NULL,那么将返回NULL
mysql> select concat('11','22',null);
+------------------------+
| concat('11','22',null) |
+------------------------+
| NULL |
+------------------------+
1 row in set (0.00 sec)

而Oracle的concat函数连接的时候,只要有一个字符串不是NULL,就不会返回NULL
SQL> select concat('11',NULL) from dual;

CONCAT
--
11

2、concat_ws()函数, 表示concat with separator,即有分隔符的字符串连接
如连接后以逗号分隔
mysql> select concat_ws(',','11','22','33');
+-------------------------------+
| concat_ws(',','11','22','33') |
+-------------------------------+
| 11,22,33 |
+-------------------------------+
1 row in set (0.00 sec)

和concat不同的是, concat_ws函数在执行的时候,不会因为NULL值而返回NULL
mysql> select concat_ws(',','11','22',NULL);
+-------------------------------+
| concat_ws(',','11','22',NULL) |
+-------------------------------+
| 11,22 |
+-------------------------------+
1 row in set (0.00 sec)

3、group_concat()可用来行转列, Oracle没有这样的函数
完整的语法如下
group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])
如下例子
mysql> select * from aa;
+------+------+
| id | name |
+------+------+
| 1 | 10 |
| 1 | 20 |
| 1 | 20 |
| 2 | 20 |
| 3 | 200 |
| 3 | 500 |
+------+------+
6 rows in set (0.00 sec)

3.1 以id分组,把name字段的值打印在一行,逗号分隔(默认)
mysql> select id,group_concat(name) from aa group by id;
+------+--------------------+
| id | group_concat(name) |
+------+--------------------+
| 1 | 10,20,20 |
| 2 | 20 |
| 3 | 200,500 |
+------+--------------------+
3 rows in set (0.00 sec)

3.2 以id分组,把name字段的值打印在一行,分号分隔
mysql> select id,group_concat(name separator ';') from aa group by id;
+------+----------------------------------+
| id | group_concat(name separator ';') |
+------+----------------------------------+
| 1 | 10;20;20 |
| 2 | 20 |
| 3 | 200;500 |
+------+----------------------------------+
3 rows in set (0.00 sec)

3.3 以id分组,把去冗余的name字段的值打印在一行,逗号分隔
mysql> select id,group_concat(distinct name) from aa group by id;
+------+-----------------------------+
| id | group_concat(distinct name) |
+------+-----------------------------+
| 1 | 10,20 |
| 2 | 20 |
| 3 | 200,500 |
+------+-----------------------------+
3 rows in set (0.00 sec)

3.4 以id分组,把name字段的值打印在一行,逗号分隔,以name排倒序
mysql> select id,group_concat(name order by name desc) from aa group by id;
+------+---------------------------------------+
| id | group_concat(name order by name desc) |
+------+---------------------------------------+
| 1 | 20,20,10 |
| 2 | 20 |
| 3 | 500,200 |
+------+---------------------------------------+
3 rows in set (0.00 sec)

4、repeat()函数,用来复制字符串,如下'ab'表示要复制的字符串,2表示复制的份数
mysql> select repeat('ab',2);
+----------------+
| repeat('ab',2) |
+----------------+
| abab |
+----------------+
1 row in set (0.00 sec)

又如
mysql> select repeat('a',2);
+---------------+
| repeat('a',2) |
+---------------+
| aa |
+---------------+
1 row in set (0.00 sec)

..

[/PHP]

[@more@]

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

对照Oracle,MySQL的几个使用字符串函数

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL 对字符串使用 STR_TO_DATE() 函数

文章目录 STR_TO_DATE() 函数1. 待转换字符串中出现数字以外的,自动去除字符,然后添加0至8位转换为日期2. 如果格式字符串仅包含日期,则待转字符串至少需要 8 位数字3. 转换后日期时间必须有效,否则返回结果为 nu
2023-08-19

MySQL字符串截取的4个函数

说明: left(被截取字段,截取长度) 例如: select left(content,200) as abstract from my_content_t 从左边(字符串开始位置)截取指定长度的字符串 注:MySQL新版本采用的是字符存储的形式
MySQL字符串截取的4个函数
2017-10-31

MySQL字符串函数:substring_index()的使用详解

MySQL字符串截取函数substring_index()的使用 定义SUBSTRING_INDEX - 按分隔符截取字符串语法SUBSTRING_INDEX(str, delimiter, count)返回一个 str 的子字符串,在 deli
MySQL字符串函数:substring_index()的使用详解
2014-07-04

使用PHP的explode()函数将字符串分割成多个子字符串

使用PHP的explode()函数将字符串分割成多个子字符串在PHP开发中,字符串的分割是一项常见的操作。PHP提供了explode()函数来将一个字符串按照指定的分隔符进行分割,将其分割成多个子字符串,然后将这些子字符串存储在一个数组中。
使用PHP的explode()函数将字符串分割成多个子字符串
2023-11-03

oracle中字符串转日期的函数是哪个函数

oracle 中将字符串转换成 date 数据类型的函数是 to_date 函数。用法如下:to_date(string_expression, format_mask)string_expression:要转换的字符串值。format_m
oracle中字符串转日期的函数是哪个函数
2024-05-08

Mysql字符串截取函数使用教程

MySQL 字符串截取函数:left(), right(), substring(), substring_index()。还有 mid(), substr()。其中,mid(), substr() 等价于 substring() 函数,substring()
Mysql字符串截取函数使用教程
2021-06-18

使用php怎么去掉字符串的最后几个字符

使用php怎么去掉字符串的最后几个字符?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。方法1:使用rtrim()函数
2023-06-15

oracle中字符串转日期的函数是哪个

oracle 中将字符串转换为日期的函数为 to_date。其语法为 to_date(string, format_mask),其中 format_mask 指定字符串中日期部分的格式,常见格式包括 yyyy(年份)、mm(月份)、dd(日
oracle中字符串转日期的函数是哪个
2024-05-07

使用PHP的substr_replace()函数将字符串中的多个部分替换为另一个字符串

使用PHP的substr_replace()函数将字符串中的多个部分替换为另一个字符串在PHP中,我们经常需要对字符串进行处理和替换。如果要替换字符串中的多个部分,可以使用PHP的substr_replace()函数。本文将介绍如何使用su
使用PHP的substr_replace()函数将字符串中的多个部分替换为另一个字符串
2023-11-03

常用的oracle字符串函数有哪些

SUBSTR:用于提取字符串的子串INSTR:用于在字符串中查找子串的位置CONCAT:用于连接两个字符串LENGTH:用于计算字符串的长度TRIM:用于去除字符串中的空格或指定字符UPPER:用于将字符串转换为大写LOWER:
常用的oracle字符串函数有哪些
2024-04-09

MySQL字符串函数:locate()使用方法详解

MySQL中字符串查找函数locate的使用 定义LOCATE - 查找一个子串在另一个字符串是否存在语法LOCATE(substr,str[,pos])网上各种文章都说有两种语法,其实只不过第三个参数可选,且默认为1而已,何必搞这么复杂。翻看了
MySQL字符串函数:locate()使用方法详解
2017-06-17

MySQL 中的哪个函数用于反转特定字符串?

MySQL REVERSE() 函数可用于反转字符串。下面的例子将演示它 -mysql> Select REVERSE(Tutorialspoint);+---------------------------+| REVERSE(Tut
2023-10-22

编程热搜

目录