SqlServer中STUFF用法

    xiaoxiao2021-03-25  170

    1、作用

    删除指定长度的字符,并在指定的起点处插入另一组字符。

    2、语法

    STUFF ( character_expression , start , length ,character_expression )

    3、示例

    以下示例在第一个字符串 abcdef 中删除从第 2 个位置(字符 b)开始的三个字符,然后在删除的起始位置插入第二个字符串,从而创建并返回一个字符串

    SELECT STUFF(‘abcdef’, 2, 3, ‘ijklmn’) GO

    下面是结果集

    aijklmnef

    4、参数

    character_expression

    一个字符数据表达式。character_expression 可以是常量、变量,也可以是字符列或二进制数据列。

    start

    一个整数值,指定删除和插入的开始位置。如果 start 或 length 为负,则返回空字符串。如果 start 比第一个 character_expression长,则返回空字符串。start 可以是 bigint 类型。

    length

    一个整数,指定要删除的字符数。如果 length 比第一个 character_expression长,则最多删除到最后一个 character_expression 中的最后一个字符。length 可以是 bigint 类型。

    5、返回类型

    如果 character_expression 是受支持的字符数据类型,则返回字符数据。如果 character_expression 是一个受支持的 binary 数据类型,则返回二进制数据。

    6、备注

    如果结果值大于返回类型支持的最大值,则产生错误。


    结果如图:

    SELECT TOP 5 [userEmail] FROM [data_Test].[dbo].[tb_TestTable] SELECT TOP 5 STUFF([userEmail], 6, 5, 'qq') as 转换后 FROM [data_Test].[dbo].[tb_TestTable]


    select ',' + cast(EmployeeID AS varchar(10)) from [NORTHWND].[dbo].[Employees] for xml path('') select stuff( (select ',' + cast(EmployeeID AS varchar(10)) from [NORTHWND].[dbo].[Employees] for xml path('')), 1, 1, '' ) AS Result FROM [NORTHWND].[dbo].[Employees]

    select ',' + City from [NORTHWND].[dbo].[Employees] for xml path('') select stuff( (select ',' + City from [NORTHWND].[dbo].[Employees] where Country=s.Country for xml path('')), 1, 1, '' ) AS R FROM (select distinct Country,City from [NORTHWND].[dbo].[Employees]) s group by Country

    转载请注明原文地址: https://ju.6miu.com/read-1398.html

    最新回复(0)