MSSQL 优雅合并字符串的技巧

1. 前言

MSSQL是一种常用的关系型数据库管理系统,作为一个开发人员,优雅的合并字符串是不可避免的问题。在本文中,我们将讨论一些优雅的方法来合并字符串。

2. 使用字符串拼接操作

2.1 使用“+”运算符

使用“+”运算符是一种简单的字符串拼接操作,它可以将多个字符串连接为一个字符串。

DECLARE @str VARCHAR(50);

SELECT @str = 'Hello ' + 'World';

SELECT @str;

上面的代码将返回字符串“Hello World”。

2.2 使用CONCAT函数

CONCAT函数也可以将多个字符串连接起来。

DECLARE @str VARCHAR(50);

SELECT @str = CONCAT('Hello ', 'World');

SELECT @str;

上面的代码将返回字符串“Hello World”。

3. 使用FOR XML PATH

3.1 FOR XML PATH语法

使用FOR XML PATH语法可以将多行结果合并为一个字符串。

SELECT Name FROM sys.databases

FOR XML PATH('')

上面的代码将返回所有数据库名称的字符串。

3.2 用STUFF函数去掉多余的分隔符

使用STUFF函数可以去掉多余的分隔符。

SELECT STUFF(

(SELECT ', ' + Name FROM sys.databases

FOR XML PATH('')), 1, 2, '')

上面的代码返回逗号分隔的数据库名称字符串。

4. 使用STRING_AGG函数

从SQL Server 2017开始,MSSQL支持STRING_AGG函数,该函数可以将多个字符串连接为一个字符串,并且可以指定分隔符。

SELECT STRING_AGG(Name, ', ') FROM sys.databases

上面的代码返回逗号分隔的数据库名称字符串。

5. 总结

字符串拼接是MSSQL开发中常见的需求,本文介绍了几种优雅的方法来处理字符串拼接问题。使用这些方法可以让代码更清晰、更简洁。

数据库标签