`

mysql中的字符串的拼接

    博客分类:
  • sql
阅读更多

字符串的拼接

1,Mysql

  在Java、C#等编程语言中字符串的拼接可以通过加号“+”来实现,比如:"1"+"3"、"a"+"b"。
在MYSQL中也可以使用加号“+”来连接两个字符串,比如下面的SQL: 

SELECT '12'+'33',FAge+'1' FROM T_Employee 

 执行结果

'12'+'33'  FAge+'1' 
45    26 
45  29 
45  24 
45  26 
45  29 
45  28 
45  24 
45  29 
45  23 

 
MYSQL会尝试将加号两端的字段值尝试转换为数字类型,如果转换失败则认为字段值为
0,比如我们执行下面的SQL语句: 

SELECT 'abc'+'123',FAge+'a' FROM T_Employee 

 

  执行完毕我们就能在输出结果中看到下面的执行结果:  

 
'abc'+'123'  FAge+'a' 
123  25 
123  28 
123  23 
123  25 
123  28 
123  27 
123  23 
123  28 
123  22 

   在MYSQL中进行字符串的拼接要使用CONCAT函数,CONCAT函数支持一个或者多个参数,
参数类型可以为字符串类型也可以是非字符串类型,对于非字符串类型的参数MYSQL将尝试
将其转化为字符串类型,CONCAT函数会将所有参数按照参数的顺序拼接成一个字符串做为
返回值。比如下面的SQL语句用于将用户的多个字段信息以一个计算字段的形式查询出来:

SELECT CONCAT('工号为:',FNumber,'的员工的幸福指数:',FSalary/(FAge-21)) 

 

FROM T_Employee  执行完毕我们就能在输出结果中看到下面的执行结果:

CONCAT('工号为:',FNumber,'的员工的幸福指数:',FSalary/(FAge-21)) 
工号为:DEV001的员工的幸福指数:2075.000000 
工号为:DEV002的员工的幸福指数:328.685714 
工号为:HR001的员工的幸福指数:1100.440000 

MYSQL中还提供了另外一个进行字符串拼接的函数CONCAT_WS,
CONCAT_WS可以在待拼接的字符串之间加入指定的分隔符,它的第一个参数值为采用的分
隔符,而剩下的参数则为待拼接的字符串值,比如执行下面的SQL: 

SELECT CONCAT_WS(',',FNumber,FAge,FDepartment,FSalary) FROM T_Employee 

 

  执行完毕我们就能在输出结果中看到下面的执行结果:

CONCAT_WS(',',FNumber,FAge,FDepartment,FSalary) 
DEV001,25,Development,8300.00 
DEV002,28,Development,2300.80 
HR001,23,HumanResource,2200.88 
HR002,25,HumanResource,5200.36 
IT001,28,InfoTech,3900.00 
IT002,27,InfoTech,2800.00 
SALES001,23,Sales,5000.00 
SALES002,28,Sales,6200.00 
SALES003,22,Sales,1200.00 

 

2,oracle

  Oracle中使用“||”进行字符串拼接,其使用方式和MSSQLServer中的加号“+”一样。
比如执行下面的SQL语句:

SELECT '工号为'||FNumber||'的员工姓名为'||FName FROM T_Employee 
WHERE FName IS NOT NULL 

 

执行完毕我们就能在输出结果中看到下面的执行结果:

工号为||FNUMBER||的员工姓名为||FNAME 
工号为DEV001的员工姓名为Tom 
工号为DEV002的员工姓名为Jerry 
工号为SALES001的员工姓名为John 
工号为SALES002的员工姓名为Kerry 
工号为SALES003的员工姓名为Stone 
工号为HR001的员工姓名为Jane 
工号为HR002的员工姓名为Tina 
工号为IT001的员工姓名为Smith 

   除了“||”,Oracle还支持使用CONCAT()函数进行字符串拼接,比如执行下面的SQL语句:

SELECT CONCAT('工号:',FNumber) FROM T_Employee 

 

执行完毕我们就能在输出结果中看到下面的执行结果:

CONCAT(工号:,FNUMBER) 
工号:DEV001 
工号:DEV002 
工号:HR001 
工号:HR002 
工号:IT001 
工号:IT002 
工号:SALES001 
工号:SALES002 
工号:SALES003  

 如果CONCAT中连接的值不是字符串,Oracle会尝试将其转换为字符串,

  与MYSQL的CONCAT()函数不同,Oracle的CONCAT()函数只支持两个参数,不支持两个以
上字符串的拼接。如果要进行多个字符串的拼接的话,可以使用多个CONCAT()函数嵌套使用。

SELECT CONCAT(CONCAT(CONCAT('工号为',FNumber),'的员工姓名为'),FName) FROM 
T_Employee 
WHERE FName IS NOT NULL 

 

执行完毕我们就能在输出结果中看到下面的执行结果:

CONCAT(CONCAT(CONCAT(工号为,FNUMBER),的员工姓名为),FNAME) 
工号为DEV001的员工姓名为Tom 
工号为DEV002的员工姓名为Jerry 
工号为SALES001的员工姓名为John 
工号为SALES002的员工姓名为Kerry 
工号为SALES003的员工姓名为Stone 
工号为HR001的员工姓名为Jane 
工号为HR002的员工姓名为Tina 
工号为IT001的员工姓名为Smith 

 

分享到:
评论
8 楼 ln_software 2017-03-10  
ln_software 写道
     

7 楼 ln_software 2017-03-10  
     
6 楼 记丶流星 2017-01-11  
5 楼 Master-Gao 2016-10-14  
内容不错。排版不好
4 楼 Actinian 2016-06-16  
  非常有用!
3 楼 RonQi 2015-06-04  
有用的内容,MSServer,MySQL,Oracel的连接字符串方法都不一样
2 楼 Power_Song 2015-04-13  
1 楼 domiyoung 2013-10-25  
[color=red][/color]哈哈

相关推荐

    mysql 拼接字符串和拼接一列的值

    mysql 拼接字符串查询语句。 普通拼接字符串和拼接某一列的所有值。

    sql 多行合并某一列字符串拼接的示例

    在SQL中,将多行数据合并为一行,尤其是在某一列进行字符串拼接,是一项常见的需求。这通常用于汇总数据、创建报表或者为了分析目的而整合信息。本文将深入探讨如何利用SQL实现多行数据的合并,特别关注字符串拼接的...

    mysql拼接字符串函数

    MySQL 中有三个常用的字符串拼接函数:CONCAT、CONCAT_WS 和 GROUP_CONCAT。这些函数都可以用来将多个字符串连接起来,但是它们的使用场景和效果不同。 CONCAT 函数 CONCAT 函数的语法是 `CONCAT(str1, str2, …)`...

    存储过程拼接字符串

    二、MySQL中的字符串拼接 1. 使用`CONCAT()`函数 MySQL中的`CONCAT()`函数与SQL Server类似,用于拼接字符串。 ```sql SELECT CONCAT('Hello, ', 'World!'); ``` 2. 使用`CONCAT_WS()`函数 `CONCAT_WS()`(CONCAT...

    mysql拼接字符串函数.docx

    MySQL 拼接字符串函数 MySQL 中提供了两个主要的拼接字符串函数:CONCAT 函数和 CONCAT_WS ...CONCAT 函数和 CONCAT_WS 函数是 MySQL 中非常实用的字符串拼接函数,它们可以帮助开发者方便地进行字符串的拼接操作。

    mysql拼接字符串函数.zip

    综上所述,MySQL提供了丰富的字符串拼接功能,满足了各种场景的需求。了解和熟练掌握这些函数,能帮助我们在处理和展示数据时更加得心应手。在实际应用中,我们可以根据需求选择合适的函数,提高代码的可读性和效率...

    mybatis Mapper.xml中传参多选 字符串形式逗号分隔 AND中拼接OR.rar

    标题和描述所提及的问题是关于如何在Mapper.xml文件中处理字符串形式的参数,这些参数由逗号分隔,并在`AND`语句中拼接`OR`子句来实现动态查询。这种场景在处理用户多选过滤条件时非常常见,比如在一个搜索框中,...

    MySQL拼接字符串函数GROUP_CONCAT详解

    要将结果集中某个指定的列进行字符串拼接,这要怎么做呢?主角闪亮:sparkles:登场 GROUP_CONCAT(expr) 在 Mysql 官方文档 中,该函数被放在聚合函数章节,如果你要按照指定字段分组拼接,就要配合关键字 GRO

    mysql字符串拼接并设置null值的实例方法

    在MySQL中,字符串拼接是常见的操作,尤其是在构建动态查询或者格式化输出数据时。本文主要探讨了如何在MySQL中进行字符串拼接,并且处理可能存在的NULL值。 首先,我们来看最基本的字符串拼接函数——`CONCAT()`。...

    drools从字符串中动态加载规则

    ### Drools从字符串中动态加载规则 在使用Drools规则引擎时,有时我们需要实现更加灵活的规则管理方式。例如,在开发过程中,我们可能希望不通过每次修改代码或重启服务来更新业务规则,而是能够在运行时动态地更改...

    MySql逗号拼接字符串查询的两种方法

    本篇文章将详细介绍两种在MySQL中实现逗号拼接字符串查询的方法。 首先,我们来看第一种方法。这种方法是通过自定义函数`FIND_PART_IN_SET`来实现的。这个函数类似于内置的`FIND_IN_SET`函数,但有所不同。`FIND_IN...

    MySQL中字符串与Num类型拼接报错的解决方法

    总之,理解MySQL中不同数据类型的处理规则以及如何正确地进行字符串拼接是至关重要的。遇到类似问题时,应首选专用于字符串操作的函数,而不是依赖于隐式类型转换。同时,保持良好的编程习惯,如合理使用索引,有助...

    case when和sum case when 写法及拼接字段

    ### Case When 用法 在 SQL 查询语言中,`CASE WHEN...结合字符串拼接功能,这些技术可以帮助我们在复杂的数据处理任务中更加高效地完成工作。在实际应用中,根据具体的业务需求选择合适的 SQL 构造方法是非常重要的。

    ibatis 连接字符串 SqlMapConfig.xml

    标题中的“ibatis 连接字符串 SqlMapConfig.xml”指的是使用iBATIS(一个轻量级的Java持久层框架)时,配置数据库连接的关键文件——SqlMapConfig.xml。这个文件是iBATIS的核心配置文件,它包含了数据源、事务管理器...

    在MySQL concat里面使用多个单引号,三引号的问题

    在动态拼接字符串时,我们常会用到字符拼接,我对拼接的引号不理解,如: 1、”’+ id +”’ 为什么是3个引号,为什么左边一个加号右边一个加号(能不能着重帮我解释下这个,详细点) SQL code sum(case Leave when...

    Mysql字符串处理函数详细介绍、总结

    MySQL中的字符串处理函数是数据库操作中非常常用的一类函数,它们可以帮助我们对字符串进行各种操作,如拼接、截取、查找、转换等。以下是对这些函数的详细说明: 1. **ASCII(char)**:返回字符串中第一个字符的...

    MySQL 连接字符串函数 CONCAT() CONCAT-WS() GROUP-CONCAT()

    在 MySQL 中,处理字符串拼接有几种非常实用的函数,它们分别是 `CONCAT()`、`CONCAT_WS()` 和 `GROUP_CONCAT()`。这些函数在数据库操作中经常用于构建复合字符串,以满足特定的需求。 1. **CONCAT() 函数** `...

Global site tag (gtag.js) - Google Analytics