一.MySQL中字符串拼接

1.使用加号”+”实现

在Java、C#等编程语言中字符串的拼接可以通过加号“+”来实现,
在MySQL中也可以使用加号”+”来连接两个字符串。
例如:

SELECT '123'+'123' AS result1;
SELECT '123'+'abc' as result2;
SELECT 'abc'+'abc' as result3;

执行结果:

246
123
0

也就是说:MySQL会尝试将加号两端的字段值转换为数字类型,如果转换失败则为0,这样看来,加号”+”实际上不是进行字符串拼接,而是数字相加。
那么,如何才能进行字符串拼接呢?强大的MySQL提供了两个函数,CONCAT和CONCAT_WS。

2.CONCAT函数

CONCAT函数支持一个或者多个参数,参数类型可以为字符串类型,也可以是非字符串类型(对于非字符串类型,MySQL将尝试
将其转化为字符串类型),CONCAT函数会将所有参数按照参数的顺序拼接成一个字符串作为返回值。
例如:

SELECT CONCAT(123,123) AS result1;
SELECT CONCAT(123,'abc') AS result2;
SELECT CONCAT('abc','abc') AS result3;

执行结果:

123123
123abc
abcabc

3.CONCAT_WS函数

CONCAT_WS可以在待拼接的字符串之间加入指定的分隔符,它的第一个参数值为采用的分隔符,而剩下的参数则为待拼接的字符串值。
例如:

SELECT CONCAT_WS(':','abc','def') AS result1;
SELECT CONCAT_WS(',','abc','def') AS result2;
SELECT CONCAT_WS(' ','abc','def') AS result3;

执行结果:

abc:def
abc,def
abc def

4.GROUP_CONCAT函数

MySQL中除了普通的字符串拼接函数外,还提供了分组拼接函数。
例如,有表t_fruit(shop_id, fruit_name),表中数据如下:
shop_id fruit_name
1 桃子
1 梨子
2 香蕉
3 苹果
2 草莓
现在需要统计每个店铺经营的水果,就可以使用GROUP_CONCAT函数,如下:

select shop_id,GROUP_CONCAT(fruit_name) from t_fruit group by shop_id;

执行结果如下:
1 ‘桃子,梨子’
2 ‘香蕉,草莓’
1 ‘苹果’

二.SQL Server中字符串拼接

SQL Server没有提供字符串拼接函数,而是使用加号”+”来进行字符串拼接,但是需要注意的是,字符串与数字拼接时,一定要将数字类型通过CONVERT函数转化为字符串类型。

1、字符串与字符串的拼接

 select 'abc'+'def';

2、字符串与数字拼接

select 'id_'+convert(varchar(50),id) from tb_user

必须显示的将数字转化为字符串,否则SQL server会将前面的字符串隐式转化为整型,出现类型转换错误。

MySQL、SQL Server中字符串拼接相关推荐

  1. SQL Server中字符串处理函数

    SQL Server中截取字符串常用函数 截取字符串中的最后一个斜杠后的所有字符: SELECT A.PIC_URL, RIGHT(A.PIC_URL,(CHARINDEX('/',REVERSE(A ...

  2. Mysql与Oracle中字符串拼接

    1.Mysql // mysql可以直接拼接 select * from AAA where name like "%333%"; // mysql中有专门的拼接函数concat, ...

  3. mysql sql数值转字符拼接_sql中的字符串拼接

    1. 概述 在SQL语句中经常需要进行字符串拼接,以sqlserver,oracle,mysql三种数据库为例,因为这三种数据库具有代表性. sqlserver: select '123'+'456' ...

  4. java sql拼接字符串_SQL中字符串拼接

    1. 概述 在SQL语句中经常需要进行字符串拼接,以sqlserver,oracle,mysql三种数据库为例,因为这三种数据库具有代表性. sqlserver: select '123'+'456' ...

  5. mysql中字符串拼接函数_MySQL 字符串连接CONCAT()函数

    MySQL字符串连接函数 使用方法: CONCAT(str1,str2,-) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. 注意: 如果所有参数均为非二进制字符 ...

  6. mysql 有newid()_MySQL中,有无GUID函数?就像SQL Server中的newid()解决方法

    mysql中,有无GUID函数?就像SQL Server中的newid() 如题! 有无直接返回GUID唯一标识的函数? ------解决方案-------------------- 函数 UUID( ...

  7. mysql物理读和逻辑读,SQL Server中STATISTICS IO物理读和逻辑读的误区

    SQL Server中STATISTICS IO物理读和逻辑读的误区 人人知道,SQL Server中可以行使下面下令查看某个语句读写IO的情形 SET STATISTICS IO ON 那么这个下令 ...

  8. SQL Server中截取字符串常用函数

    SQL Server 中截取字符串常用的函数: 1.LEFT ( character_expression , integer_expression ) 函数说明:LEFT ( '源字符串' , '要 ...

  9. sql oracle 自增长字段,在Oracle、MySQL、MS SQL Server中创设自动增长字段

    在Oracle.MySQL.MS SQL Server中创建自动增长字段 好吧,今天面试有道题,要各个数据库怎么建立自增长字段,顺便复习一下吧,最近面试很多数据库问题... 一:Oracle Orac ...

最新文章

  1. python线程池模块_python并发编程之进程池,线程池,协程
  2. PHP 开发中的外围资源性能分析(一)
  3. 计算机网络职称考试,职称计算机考试Internet基础知识:计算机网络组成
  4. GitHub上那些值得一试的JAVA开源库--转
  5. python题库刷题训练软件_刷题 -- python计算器练习题
  6. etcd mysql集群_Etcd单节点扩容为三节点集群
  7. HTTP1.1新增了五种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 、 CONNECT
  8. 数据源管理 | OLAP查询引擎,ClickHouse集群化管理
  9. Java面试11|Maven与Git
  10. shiro身份验证失败捕获的异常对应信息
  11. 智能语音识别转文字字幕实时上屏直播系统
  12. 7-20 约分最简分式c语言,7-24 约分最简分式
  13. 智能手机企业现状 行业发展趋势
  14. 寻找丢失的LZY(dfs)
  15. 【VSCode教程】 C++第一个DLL、远离手动GCC、快速自动生成、来 say_helloヽ(^o^)丿
  16. android 65536
  17. 你需要的iPhoneX适配
  18. TypeError Cannot instantiate abstract class xxx with abstract method
  19. IIS或Apache部署Django项目时,Admin后台管理CSS样式丢失?
  20. 99.扩展183.信息系统运维维护服务

热门文章

  1. 高瓴张磊:判断一个人是否靠谱,关键看4个维度
  2. 广芯模拟开关芯片,SWITCHING CHARGER,ANALOG SWITCH,LED DRIVER,LDO
  3. 安装油烟净化器时有什么需要注意的?
  4. 马哥视频链接lnmp
  5. 从搜索引擎到人工智能看百度科技创新之路
  6. 摄像头参数介绍 ———— 动态范围
  7. 制作项目——坦克大战
  8. 手机桌面上的计算机为什么不能删除,为什么便签删不掉?电脑桌面的便签删不掉...
  9. 面向对象的SQL语句——JPQL
  10. Python爬虫从入门到精通——解析库pyquery的使用