SQL语法精选-如何拼接多列的值?
创始人
2025-01-11 11:33:14
0

在做业务数据分析的时候,可能会遇到这样一个场景,需要将多个字段进行拼接,变为一个长字符串

比如年、月、日三个字段拼接成完整的日期,或者姓、名两个字段拼接成姓名列

这就需要用到SQL查询中串联(拼接)方法,这在不同数据库中语法会有差异,下面会演示MySQL、Oracle、PostgreSQL、SQL Server这四种数据库中的实现方法。

1、插入数据

这里用的是MySQL数据库,插入原始数据,用于后面的实验

其他数据库的插入语法,可能会有细微差别,可自行调整

CREATE TABLE IF NOT EXISTS `students` (   `id` varchar(10) NOT NULL,   `name` varchar(10) NOT NULL,   `age` datetime NOT NULL,   `sex` varchar(10) NOT NULL,   PRIMARY KEY (`id`) ) DEFAULT CHARSET=utf8;  insert into `students` values('01' , '赵雷' , '1990-01-01' , '男'); insert into `students` values('02' , '钱电' , '1990-12-21' , '男'); insert into `students` values('03' , '孙风' , '1990-05-20' , '男'); insert into `students` values('04' , '李云' , '1990-08-06' , '男'); insert into `students` values('05' , '周梅' , '1991-12-01' , '女');  

得到数据的形式

2、在MySQL中进行串联拼接

使用concat函数对不同字段进行拼接,用法:

select concat(列1,列2,列3...) from...    

我们对上表中name、age字段进行串联:

SELECT concat(a.name,'的生日是:',a.age) FROM `students` a  

结果:

2、在PostgreSQL、Oracle中进行串联拼接

使用||符号对不同字段进行拼接,用法:

select 列1 || 列2 || 列3... from...  

我们对上表中name、age字段进行串联:

SELECT a.name || '的生日是:' || a.age FROM students a  

3、在SQL Server中进行串联拼接

使用+符号对不同字段进行拼接,用法:

select 列1 + 列2 + 列3... from...  

我们对上表中name、age字段进行串联:

SELECT a.name + '的生日是:' + convert(varchar,a.age) FROM students a  

这里要注意SQL Server中的+只可以用于字符串类型的字段拼接,不能将字符串与数字、日期等其他类型混合拼接,所以如果你想拼接非字符串类型,可以用 convert函数进行字符串的转换。

当然 SQL Server中的+ 也可以用于数值间的相加,也就是加法运算

相关内容

热门资讯

第1分钟了解!火神大厅外g挂(... 第1分钟了解!火神大厅外g挂(辅助)天天黄石麻将开挂辅助修改器-总是是有软件1、火神大厅外g挂辅助器...
6分钟了解!手游游戏挂机辅助(... 6分钟了解!手游游戏挂机辅助(辅助)福运开挂辅助辅助-切实存在有插件6分钟了解!手游游戏挂机辅助(辅...
第四分钟了解!创思维激k怎么开... 第四分钟了解!创思维激k怎么开挂(辅助)JJ斗地主开挂辅助安装-都是真的是有下载1、每一步都需要思考...
第八分钟了解!皇豪互众智能辅助... 第八分钟了解!皇豪互众智能辅助器破解(辅助)星火燎原开挂辅助下载-本来是真的神器1、皇豪互众智能辅助...
三分钟了解!途游大作战辅助(辅... 三分钟了解!途游大作战辅助(辅助)中至余干麻将开挂辅助软件-都是有挂平台1、让任何用户在无需途游大作...
6分钟了解!推荐一下胡乐辅助脚... 6分钟了解!推荐一下胡乐辅助脚本的教程(辅助)达达开挂辅助辅助器-果然存在有平台1、玩家可以在推荐一...
六分钟了解!衢州都莱罗松怎么才... 六分钟了解!衢州都莱罗松怎么才能赢(辅助)白金岛游戏开挂辅助脚本-确实是有平台该软件可以轻松地帮助玩...
第9分钟了解!天天透视辅助工具... 第9分钟了解!天天透视辅助工具(辅助)大巴斗地主开挂辅助修改器-一贯是真的软件1、金币登录送、破产送...
第四分钟了解!乐酷辅助(辅助)... 第四分钟了解!乐酷辅助(辅助)新时代开挂辅助脚本-都是真的是有辅助第四分钟了解!乐酷辅助(辅助)新时...
十分钟了解!决战十水三余音(辅... 十分钟了解!决战十水三余音(辅助)8522TV开挂辅助辅助器-总是是有辅助器1、游戏颠覆性的策略玩法...