• TSQL使用函数uppercase更新xml


    XML有很多函数,如upper-case可以把某些值显示或改写为大写。比如下面这个xml类型变量中,第5行与第6行属性值是小写,现想把它显示来大写。

    1 DECLARE @xml XML = '
    2 <Devs>
    3    <lang name="VB.NET"/>
    4    <lang name="C#.NET"/>
    5    <lang name="Java" />
    6    <lang name="Javascript" />
    7    <lang name="ASP.NET" />
    8 </Devs>
    9 ';

    首先我们演示在显示时,才改写为大写,函数语法fn:upper-case()

    SELECT D.l.value('fn:upper-case((/Devs/lang/@name)[3])''NVARCHAR(15)'),
           D.l.value('fn:upper-case((/Devs/lang/@name)[4])''NVARCHAR(15)')
    FROM @xml.nodes('/') D(l)  -- table(column)

    执行结果:

    上面即是在SELECT时改变显示结果,如果改变原值,可以参考http://www.cnblogs.com/insus/archive/2012/02/25/2367857.html xml.modify()的replace value of ... with ... 来修改。

    SET @xml.modify('
                    replace value of (/Devs/lang/@name)[3]
                    with xs:string(fn:upper-case((/Devs/lang/@name)[3]))                
                    
    ');
    SET @xml.modify('
                    replace value of (/Devs/lang/@name)[4]
                    with xs:string(fn:upper-case((/Devs/lang/@name)[4]))                
                    
    ');
    SELECT @xml

    结果:

    或者:

  • 相关阅读:
    守护线程Daemon的理解
    Activity并行网关和排他网关
    Activity快速入门理解
    java虚拟机内存区域理解
    Maven的使用
    Mybatis拦截器(插件实现原理)
    網絡上好的博客收集
    jdbc 设置连接支持多条sql
    python 多环境安装
    Linux 系统命令
  • 原文地址:https://www.cnblogs.com/insus/p/2378434.html
Copyright © 2020-2023  润新知