澳门新蒲京娱乐

图片 2
存款和储蓄进程多规格查询,SQL之多规格查询

企业ITIL实施流程讨论,ITIL在网络运维管理中的发展征途

STUFF函数的用法

 

start

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

1、作用

     图片 1

6、备注
比如结果值当先重返类型帮衬的最大值,则发出错误。

    四、sql stuff函数

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

    --实例一
     select STUFF('abcdefg',1,0,'1234')       --结果为'1234abcdefg'
     select STUFF('abcdefg',1,1,'1234')       --结果为'1234bcdefg'
     select STUFF('abcdefg',2,1,'1234')       --结果为'a1234cdefg'
     select STUFF('abcdefg',2,2,'1234')       --结果为'a1234defg'

    --实例二、SQL 将列转成字符串并用逗号分隔
    --同样的,我们也用到了for xml path这个方法
    SELECT STUFF((SELECT ',' + ActionName FROM [dbo].[Workflow_Action] FOR XML PATH('')),1,1,'') AS WA

二个大背头,钦命要刨除的字符数。倘诺 length 比第贰个character_expression长,则最多删除到结尾一个 character_expression
中的最终贰个字符。length 能够是 bigint 类型。

    一、简介

2、语法

      STUFF ( character_expression , start , length
,character_expression )

3、示例

 

length

    图片 2图片 3

上边是结果集

        重临类型  

转:sql
STUFF用法

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

二个字符数据他们表达式。character_expression
能够是常量、变量,也能够是字符列或二进制数据列。

     图片 4

以下示例在率先个字符串 abcdef 中剔除从第 2 个地方(字符
b)起头的四个字符,然后在剔除的早先地方插入第四个字符串,从而创立并赶回叁个字符串

    sql
stuff函数用于删除钦赐长度的字符,并得以在制定的起源处插入另一组字符。sql
stuff函数中借使早先地方或长度值是负数,也许只要开首地点大于第2个字符串的尺寸,将重回空字符串。尽管要刨除的长短超过第三个字符串的长短,将去除到第2个字符串中的第一个字符。

 

      1、假使起第1地点或长度值是负数,大概一旦初叶地点大于第贰个字符串的尺寸,将回来空字符串。假如要删减的长短超过第八个字符串的长度,将去除到第一个字符串中的第贰个字符。

5、重返类型
如果 character_expression 是受支持的字符数据类型,则赶回字符数据。假诺character_expression 是二个受帮助的 binary 数据类型,则赶回二进制数据。

数据表和数目

STUFF ( character_expression , start , length ,character_expression )

   接下来,我们再讲三个别样的函数,达成平等的功能,STUFF函数。

4、参数
character_expression

    --我们看看一个操作对应的而多格流程
    --一共是两层,里面一层查出单独的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

aijklmnef

    二、语法

去除钦赐长度的字符,并在钦定的源点处插入另一组字符。

   FO科雷傲 XML PATH
,其实它正是将查询结果集以XML形式表现,将多行的结果,突显在同一行。

贰个整数值,钦定删除和插入的启幕地方。如若 start 或 length
为负,则赶回空字符串。假设 start 比第一个character_expression长,则赶回空字符串。start 能够是 bigint 类型。

    一、作用

    --实例三、最后我们实现,上面for xml path的功能
    --先查出两个字段,然后对ActionName这个字段进行转化,where条件记得加上,不加就会显示出所有的ActionName
    select WorkflowSchema,
           ActionName=(STUFF((select ',' + ActionName 
                              from [dbo].[Workflow_Action] a 
                              where a.WorkflowSchema=b.WorkflowSchema for xml path('')),1,1,''))    --where条件必须加上 
    from [dbo].[Workflow_Action] b group by WorkflowSchema

        参数

相关文章

No Comments, Be The First!
近期评论
    功能
    网站地图xml地图