MSSQL·CONCAT函数的基础使用

阅文时长| 0.47分钟字数统计| 752.8字符
主要内容| 1、应用场景 2、基础使用 3、声明与参考资料
『MSSQL·CONCAT函数的基础使用』
编写人| SCscHero 编写时间| 2022/5/13 PM10:18
文章类型| 系列完成度| 已完成
座右铭每一个伟大的事业,都有一个微不足道的开始。

一、应用场景   完成度:100%

  • 适用于MSSQL中IN多字段时候配合使用。
  • 常用于多列格式化场景,比如:XML、HTML5富文本、邮件等格式拼接等。

二、基础使用   完成度:100%

a) 基本语法

此函数以端到端的方式返回从串联或联接的两个或更多字符串值生成的字符串。(若要在串联过程中添加分隔值,请参阅 CONCAT_WS。)

  1. 语法
CONCAT ( string_value1, string_value2 [, string_valueN ] )
  1. 参数
    string_value
    要与其他值串联的字符串值。 CONCAT函数需要至少两个CONCAT参数,且不能超过 254 string_value参数。

  2. 返回类型
    string_value
    长度和类型取决于输入的字符串值。

b) 示例:MSSQL搭配IN实现多字段过滤

目标:使用WHERE、IN关键字语法,通过字段b、c将临时表a和临时表b中相同的结果集筛选出来。
意义:有些关系型数据库IN关键字是支持多个字段同时IN的。比如本次场景中可以写成:select * from [#a] a WHERE (a.b,a.c) IN (select b,c from [#b]);但是在MSSQL中是不支持的,但我们可以用CONCAT函数来变通解决。

GO
--1/2. 数据准备
create table #a (
a varchar(100),
b varchar(100),
c varchar(100)
)
create table #b (
a varchar(100),
b varchar(100),
c varchar(100)
)

insert #a values ('1','a','甲');
insert #a values ('2','a','乙');
insert #a values ('3','c','丙');
insert #a values ('4','d','丁');


insert #b values ('1','a','甲');
insert #b values ('2','b','乙');
insert #b values ('3','c','丙');
insert #b values ('4','a','乙');
insert #b values ('3','d','丙');

--2/2. 实现逻辑
select * from [#a] a  WHERE CONCAT(a.b,a.c) IN (select CONCAT(b,c) from [#b])

DROP TABLE #a
DROP TABLE #b
GO

三、声明与参考资料   完成度:100%

原创博文,未经许可请勿转载。

如有帮助,欢迎点赞、收藏、关注。如有问题,请评论留言!如需与博主联系的,直接博客私信SCscHero即可。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值