MySQL字符串的拼接函数_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
2
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2391 | 回复: 1   主题: MySQL字符串的拼接函数        下一篇 
tngou
注册用户
等级:中校
经验:2433
发帖:192
精华:15
注册:2014-4-28
状态:离线
发送短消息息给tngou 加好友    发送短消息息给tngou 发消息
发表于: IP:您无权察看 2015-2-11 10:27:05 | [全部帖] [楼主帖] 楼主   主页

1、错误的+拼接

     在MySQL数据库操作时,我们经常需要对字符串进行拼接,然后得到我们需要的结果。

在Java、C#等编程语言中字符串的拼接可以通过加号“+”来实现,比如:"1"+"3"、"a"+"b"。

在MySQL操作:

SELECT '12'+'34','a'+'b';(SELECT '12'+id FROM tngou;)


我们需要的答案应该是 123,ab ;

其实测试的结果是   46 , 0  这样的结果不是我们需要的,我们从结果中可以终结, + 实现的是数字的添加,我们也可以把拼接的数据改为小数试一试。

2、CONCAT函数拼接

     在MYSQL中进行字符串的拼接要使用CONCAT函数,CONCAT函数支持一个或者多个参数,
参数类型可以为字符串类型也可以是非字符串类型,对于非字符串类型的参数MYSQL将尝试
将其转化为字符串类型,CONCAT函数会将所有参数按照参数的顺序拼接成一个字符串做为
返回值。

    比如下面的SQL语句用于将用户的多个字段信息以一个计算字段的形式查询出来:

SELECT CONCAT('工号为:',id,'姓名:',name)  FROM tngou


结果就是 “工号为:101姓名: 天狗” 这就是我们需要的结果。

3、CONCAT_WS函数拼接

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

    比如执行下面的SQL:

SELECT CONCAT_WS(',',id,name) FROM tngou


    结果就是:“101, 天狗”。

该贴由hui.chen转至本版2015-3-2 9:09:16



赞(0)    操作        顶端 
yaoxia.wu
注册用户
等级:中校
经验:2318
发帖:53
精华:1
注册:1970-1-1
状态:离线
发送短消息息给yaoxia.wu 加好友    发送短消息息给yaoxia.wu 发消息
发表于: IP:您无权察看 2015-2-13 21:57:59 | [全部帖] [楼主帖] 2  楼

在MYSQL中CONCAT函数支持一个或者多个参数,参数类型可以为字符串类型也可以是非字符串类型,对于非字符串类型的参数MYSQL将尝试
将其转化为字符串类型,CONCAT函数会将所有参数按照参数的顺序拼接成一个字符串做为返回值。
而在Oracle中CONCAT()函数只支持两个参数,不支持两个以上字符串的拼接。如果要进行多个字符串的拼接的话,可以使用多个CONCAT()函数嵌套使用。



赞(0)    操作        顶端 
总帖数
2
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论