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

MySQL和Oracle字符串截取函数用法总结(比较) 我的原创地址:https://dongkelun.com/2019/05/28/mysqlAndOracleSubString/ 前言 本文总结MySQL和Oracle的字符串截取函数的用法 工作中MySQL和Oracle都用,有时会碰到两种数据库SQL用法的不同,就会上网查一下,但是时间久了,就忘记了,好记性不如烂笔头,所以写个笔记备忘一下~ 1、MySql 函数:SUBSTRING 或 S... 阅读详情

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)
 

电阻应变式力传感器 阅读详情

相关推荐

uCOS中的消息邮箱(:task与task之间传递一个数据(数据缓冲区))

程序需求,需要完成task与task之间  字符数组的数据传输 比如:在ucos中,串口2接收的字符数组是不定时的&不定长的;只有当接收到数据的时候_才将数据赋值给新数组 具体的程序示意如下: 图1:消息邮箱测试中的     向消息邮箱发送消息(OSMboxPost(Str_Box,(void*)rec);//发送消息--(向 消息邮箱_msg_key发送消息) ),实际项目需求的

faguoduifangui的博客 4540

【MySQL】MySQL整型转字符串、字符串转整型

在MySQL中,可以使用CAST()函数或者CONVERT()函数将整型转换为字符串。两个函数的作用是相同的,都可以将字符串转换为整型。以上两种方法都会将整型值123转换为字符串"123"。表示转换为有符号整型。如果要转换为无符号整型,可以使用。注意,如果字符串无法转换为整型,会返回NULL。在MySQL中,可以使用。函数将字符串转换为整型。

tttzzzqqq2018的博客 2490

从零搭建uniapp+vue3+ts+tailwindcss多端兼容开发环境

本文详细介绍了如何从零搭建uniapp+vue3+ts+tailwindcss多端兼容开发环境,包括环境准备、TailwindCSS集成、小程序兼容性解决方案以及样式优化技巧。通过实战步骤和常见问题解答,帮助开发者快速掌握这套技术栈,提升开发效率。

weixin_28693309的博客 323

MySQL --- 常用函数 - 字符串函数

MySQL 函数会对传递进来的参数进行处理,并返回一个处理结果,也就是返回一个值。MySQL 包含了大量并且丰富的函数,咱们讲解几十个常用的,剩下的比较罕见的函数我们可以到「MySQL 参考手册」查询。RPAD(列|字符串,长度,填充字符)LPAD(列|字符串,长度,填充字符)如果用 emp 表可以发现测试数据输出了很多遍,因为 emp 表中有很多条数据,每一条数据都要执行一下使用MySQL中的虚拟表,其中只有一行数据,正好可以用来进行测试函数,也可以不写 将字符串每个字符转为大写可以发现如果大小写相结合,

weixin_60569662的博客 8336

FreeCAD源码分析:Sketcher模块

Sketcher模块基于Part模块功能实现了特征编辑(Feature Editing)建模的功能。这类参数化建模系统主要包括几何表示、约束求解器等两大组成部分。

国产CAx(CAD/CAE/CAM)软件研发 6523

告别手册!S32K3XX的eMIOS实战:从GPT定时到PWM输出,一个通道搞定电机控制

本文深入探讨了NXP S32K3XX系列MCU的eMIOS模块在电机控制中的高效应用。通过单通道实现PWM生成、输入捕获和定时中断三大功能,展示了如何简化BLDC电机控制硬件设计。文章结合RTD库与寄存器级编程,提供动态模式切换和性能优化方案,显著降低CPU负载。

weixin_42522374的博客 147

关于Mysql的“字符串”数值转换使用

工作中遇到Mysql的字符串转数值问题该怎么处理?

子涵先生 2796

华为鸿蒙系统也能用!5分钟搞定谷歌三件套安装(附最新APK下载链接)

本文为华为鸿蒙系统用户提供了一份详尽的谷歌三件套(Google Play服务、商店及框架)手动安装指南。文章核心在于无需Root,通过ADB命令获取设备信息,并从可靠来源下载匹配版本的APK,按照正确顺序安装,从而解决海外应用依赖问题,实现5分钟快速部署。

c7d8e9的博客 6498

MySQL函数讲解(字符串函数、转化函数、流程函数、比较谓词等)

MySQL常见函数 字符串函数 进行字符串操作的函数 算术函数 进行数值计算的函数 日期函数 进行日期操作的函数 转换函数 进行数据类型和值转换的函数 流程函数 进行条件删选 聚合函数 进行数据聚合的函数 谓词 一般用于条件判断 CASE

m0_49864110的博客 624

【GeoDa实用技巧100例】024:geoda计算全局(局部)莫兰指数Moran‘s I,LISA聚类地图,显著性地图

【GeoDa实用技巧100例】024:geoda计算全局(局部)莫兰指数Moran's I,单变量莫兰指数,双变量莫兰指数计算,LISA聚类地图,显著性地图,Geoda双变量莫兰指数是一种强大的地理空间数据分析工具。

智慧空间实验室 6051

uniapp [全端兼容] - 实现接入集成高德地图搜索地址及选择位置功能,搜索框检索选择地点并返回经纬度及详细省市区县街道地址,用户搜索历史及清空历史记录,选择地址自动获取周边位置列表/地图移动选点

uni-app,高德地图,h5移动端网页,微信小程序,支付宝小程序,Android安卓,苹果ios,app,nvue,Uniapp高德地图,在地图上选择或搜索指定地点,打开地图选择位置,关联地址搜索,输入地址返回附近地址列表,uniApp高德地图地址搜索,搜索框历史记录,关键字搜索,周边查询,搜索位置,uniapp对接高德实现搜索出现地址以及保存搜索记录,集成高德地图,实现精准位置选点功能,获取当前定位城市,如何实现搜索功能,获取省份城市区街道详细地址经纬度,移动选点标记位置,在地图上进行选择位置选点、搜索

🏆 前端领域优质创作者 1万+

mysql字符串和数字的互相转换

1. 最简单的方式就是直接在字符串后面+0,就相当于直接把字符串转为数字类型了,下面可以看一下具体的操作,可以看到通过+0操作,成功将两个字符串转化为了数字,并得到了相加后的结果。 2. 使用CAST()函数,使用方式为CAST(value AS type);,下面可以看一下具体的操作例子,通过如下sql语句查看结果: SELECT CAST('5.45' AS SIGNED); 可以看到结果直接将字符串'5.45'转为了数字5,原因是SIGNED代表整数。 3. 如果想要...

qq_34412985的博客 4750

单智能体篇:Prompt工程艺术

模型在接收到 Prompt 时会自动扮演“角色”,角色定义的好坏直接影响智能体输出的风格和专业性。角色定义的重要性让智能体具备明确身份,例如“你是一位专业理财顾问”或“你是一个幽默的文案创作助手”。角色限定了模型知识输出的范围,使回答更专业、更贴合预期。实战示例模糊Prompt给我一些投资建议。你可以投资股票或者基金。优化Prompt你是一位具有10年经验的专业理财顾问,请给我针对30岁男性,年收入20万,风险偏中等的投资组合建议。

公众号:AI前沿侦探 1304

oracle mysql 比较字符串_对照Oracle,MySQL的几个使用字符串函数

对照Oracle,MySQL的几个使用字符串函数发布时间:2020-08-09 07:15:26来源:ITPUB博客阅读:98作者:atgc[PHP]1、concat()函数1.1 MySQL的concat函数可以连接一个或者多个字符串,如mysql> select concat('10');+--------------+| concat('10') |+--------------+| ...

weixin_33542634的博客 162

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

mysql oracle 比较字符串_对照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 ...

weixin_28866303的博客 99

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

mysql和oracle函数比较

函数 编号 类别 ORACLE MYSQL 注释 1 数字函数 round(1.23456,4) round(1.23456,4) 一样:ORACLE:select round(1.23456,4) value from dualMYSQL:select round(1.23456,4) value 2 abs(-1) abs(-1) 功能: 将当前数据取绝对值用法: oracle和my

一切从零开始 4249

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Hive、MySQL、Oracle内建函数对照表

Hive自身预置了许多函数,可以满足大部分业务场景的数据处理需求。例如,日期与时间函数、数学函数、窗口函数、聚合函数、字符串函数、复杂类型函数、加密函数等。本文将提供MaxCompute、Hive、MySQL以及Oracle的内建函数对照表,方便我们在使用时进行对照查阅,以避免混淆使用。

Java/Python大数据随笔 817

Oracle和MySQL的函数对比和常用区别

编号 类别 ORACLE MYSQL 注释 1 数字函数 round(1.23456,4) round(1.23456,4) 一样: ORACLE:select round(1.23456,4) value from dual MYSQL:select round(1.23456,4) value 2 abs(-1) ...

Carson073的博客 3103

mysql和oracle的函数对比

函数 编号 类别 ORACLE MYSQL 注释 1 数字函数 round(1.23456,4) round(1.23456,4) 一样: ORACLE:select round(1.23456,4) value from dual MYSQL:select round(1.23456,4) value

qq_39137554的博客 1282

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

[PHP]1、concat()函数 1.1 MySQL的concat函数可以连接一个或者多个字符串,如 mysql> select concat('10'); +--------------+ ...

csdown1001的博客 701

mysql查找字符串的函数_mysql查找字符串函数

一、根据字符串找位置find_in_set第二个参数是以逗号隔开的,从第二个参数集合中查找第一个参数的位置mysql> select find_in_set('mysql','oracle,sql server,mysql,db2');+----------------------------------------------------+| find_in_set('mysql','or...

weixin_28940363的博客 5034

MySQL函数和oracle_MySQL与Oracle差异函数对比

ORACLE:select round(1.23456,4) value from dualMYSQL:select round(1.23456,4) value2abs(-1)abs(-1)功能: 将当前数据取绝对值用法: oracle和mysql用法一样mysql: select abs(-1) valueoracle: select abs(-1) value from dual3ceil(...

weixin_33308985的博客 637

mysql concat ws 效率_concat和concat_ws()区别及MySQL的几个实用字符串函数

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

weixin_42365266的博客 273

Oracle转mysql的一些函数替换

近期公司项目中需要把Oracle数据迁移到mysql中,所以一些写的sql不能通用,需要进行函数替换。 以下就是自己整理的一些sql中Oracle转mysql的替换,目前只整理了一部分,希望对大家有用 1、日期的替换 Oracle中通常采用的日期函数是SYSDATE,SYSTIMESTAMP(毫秒级) mysql中需要替换为SYSDATE(),一定要注意mysql需要加() sql通常也会使用字符串转date,或者date转字符串的情况 (1)时间转字符串 Oracle中可以使用to_char

qq_38889701的博客 5258

oracle和mysql函数的区别_数据库系列:oracle函数与mysql函数的区别

1.连接符 ||与concat2.to_char与cast(a as char(2))3.日期加减date_add(@dt,interval 1 day);4.nvl与ifnull5.sydate与sysdate()6.trunc与cast7.rownum与@rownum:=@rownum+(as n)8.oracle中调用函数var A varchar2(40);call procedure1(...

weixin_33250594的博客 1665

MaxCompute、Hive、MySQL以及Oracle的函数对比

【代码】MaxCompute、Hive、MySQL以及Oracle的函数对比。

weixin_45629153的博客 1287
上一篇: translate函数的用法
下一篇: 在oracle数据库保存图片的方法
ATGC
博客等级 码龄22年 41粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值