SQL 拼接字符串

SQL 拼接字符串

写sql的时候有时候用到需要拼接多个字段或者在查询出结果的字段里加入一部分固定的字符串。

方法一:

在查询到的结果后,用代码去拼接。这种方法就不在赘述。 

方法二:使用数据库提供的方法CONCAT(a,b)

oracle 中concat(a,b)只能有两个参数,如果concat中连接的值不是字符串,那么oracle会尝试将其转化为字符串。

举例:select concat(className,name) from student

>>> 一班张三

二班李四

select concat(className,name) from student
>>> 一班张三

二班李四

可以使用嵌套方法进行多个参数拼接:

举例:select concat(concat(gradeName,className),name)

>>>一年级一班张三

一年级二班李四

select concat(concat(className,'-'),name)

>>>一班-张三

一班-李四

可以参数为null:

举例:select concat('11',null) from student;

但是不可以不写:

举例:select concat('11',) from student;---错误例子。


Mysql数据库中concat方法可以有多个参数。参数类型可以不是字符串,Mysql会尝试将其转化为字符串。

两个参数的例子与Oracle的一样,这里举例多个字符串拼接

举例:select concat(className,'-',name) from student

>>> 一班-张三

二班-李四

Mysql的另外一个方法CONCAT_WS

concat_ws可以在待拼接的字符串中加入通用分隔符,第一个参数为分隔符,以后的参数为拼接的字符串

举例:select concat_ws('-',grideName,className,name) from student

>>> 一年级-一班-张三

一年级-二班-李四

方法三:使用 符号

Oracle 可以使用 || 符号拼接字符串

举例:select className||'-'||name from student

>>> 一班-张三

二班-李四

Mysql中使用+时,mysql会尝试将值转化为数字进行相加,如果不能转化则认为值为0。所以+不能用来拼接字符串

举例:select '11'+'22'from student

>>> 33

举例:select 'abc'+'22'from student

>>> 22

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值