澳门皇冠金沙网站-澳门皇冠844网站

热门关键词: 澳门皇冠金沙网站,澳门皇冠844网站

STUFF函数的用法

    二、实际应用  

转:sql STUFF用法

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

 

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

2、语法

 

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

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

 

SELECT STUFF('abcdef', 2, 3, 'ijklmn')
GO

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

    select * from [dbo].[Workflow_Action] for xml path
      它可以将查询结果转换为一段XML格式的代码

start

4、参数
character_expression

    图片 1图片 2

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

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

    图片 3

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

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

      接下来,我们用这个方法查询这个表的数据。

下面是结果集

3、示例

    三、备注

4、参数
character_expression

下面是结果集

     图片 4

STUFF ( character_expression , start , length ,character_expression )

STUFF ( character_expression , start , length ,character_expression )

      STUFF ( character_expression , start , length ,character_expression )

length

sql STUFF用法

    sql stuff函数用于删除指定长度的字符,并可以在制定的起点处插入另一组字符。sql stuff函数中如果开始位置或长度值是负数,或者如果开始位置大于第一个字符串的长度,将返回空字符串。如果要删除的长度大于第一个字符串的长度,将删除到第一个字符串中的第一个字符。

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

SELECT STUFF('abcdef', 2, 3, 'ijklmn')
GO

   --for xml path 后面可以写东西,for xml path(Schema),这样写的话,可以将节点<row>变成<Schema>
    select WorkflowSchema as WS,ActionSchema as SC,ActionName as AN from [dbo].[Workflow_Action] for xml path('Schema')

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

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

    --我们看看一个操作对应的而多格流程
    --一共是两层,里面一层查出单独的ActionName,拼成一行,然后使用where条件连接外层
    SELECT WorkflowSchema,
      (SELECT ActionName ',' FROM [dbo].[Workflow_Action] 
      WHERE WorkflowSchema=A.WorkflowSchema    --必须加的条件
      FOR XML PATH('')) AS ActionList
    FROM [dbo].[Workflow_Action] A 
    GROUP BY WorkflowSchema
    

    --where 连接条件必须要,如果去掉,就会查出所有的ActionName,如同上面示例一样
    

    --现在我们优化一下格式,会发现最后多了一个‘,’符号,用LEFT函数去掉他,继续在外面接一层查询
    select B.WorkflowSchema,
        LEFT(B.ActionList,LEN(B.ActionList)-1) as ActionList 
           from (
                 SELECT WorkflowSchema,
                   (SELECT ActionName ',' FROM [dbo].[Workflow_Action] 
                      WHERE WorkflowSchema=A.WorkflowSchema 
                     FOR XML PATH('')) AS ActionList
                FROM [dbo].[Workflow_Action] A 
    GROUP BY WorkflowSchema) as B

3、示例

start

   FOR XML PATH ,其实它就是将查询结果集以XML形式展现,将多行的结果,展示在同一行。

 

length

本文由澳门皇冠金沙网站发布于数据库研究,转载请注明出处:STUFF函数的用法