使用 FOR XML PATH 產生 XML 格式時,遇到 NULL 該如何處理?
當您嘗試利用 FOR XML PATH 產生 XML 格式時,若遇到 Result Set 為 Null 時,會導致整個查詢結果為 Null ,若您想要在查不到資料時,可以顯示自訂的內容,本文將提供可能的作法。
- 以下程式碼示範將 Northwind 資料庫的 Region 資料表查詢結果以 XML 格式呈現:
1: DECLARE @xml NVARCHAR(MAX)
2: SET @xml = CAST (
3: (SELECT RegionID, LTRIM(RTRIM(RegionDescription)) AS RegionDescription
4: FROM Region
5: WHERE RegionID = 1
6: FOR XML PATH('Region'), TYPE)
7: AS NVARCHAR(MAX) )
8: SELECT @xml
執行結果如下:
1: <Region>
2: <RegionID>1</RegionID>
3: <RegionDescription>Eastern</RegionDescription>
4: </Region>
- 若您輸入一個不存在的 RegionID 會得到下列的結果:
- 若您想要在查不到資料的時候顯示找不到資料而非 NULL,可以下列的 T-SQL 來達到這個目的:
1: DECLARE @xml NVARCHAR(MAX)
2: SET @xml = CAST (
3: (SELECT ISNULL(t.td,'找不到資料')
4: FROM
5: (
6: (SELECT RegionID, LTRIM(RTRIM(RegionDescription)) AS RegionDescription
7: FROM Region
8: WHERE RegionID = 10
9: FOR XML PATH('Region'), TYPE
10: )) t(td))
11: AS NVARCHAR(MAX) )
12:
13: SELECT @xml
執行結果如下:
使用 FOR XML PATH 產生 XML 格式時,遇到 NULL 該如何處理?的更多相关文章
- 一个由正则表达式引发的血案 vs2017使用rdlc实现批量打印 vs2017使用rdlc [asp.net core 源码分析] 01 - Session SignalR sql for xml path用法 MemCahe C# 操作Excel图形——绘制、读取、隐藏、删除图形 IOC,DIP,DI,IoC容器
1. 血案由来 近期我在为Lazada卖家中心做一个自助注册的项目,其中的shop name校验规则较为复杂,要求:1. 英文字母大小写2. 数字3. 越南文4. 一些特殊字符,如“&”,“- ...
- for XML path 使用技巧
FOR XML PATH 是sqlserver数据库的语法,能将查询出的数据转换成xml格式的数据. 首先,我们来看一个正常的查询: SELECT TOP 2 id, name,crDate FROM ...
- 使用SQL的FOR XML PATH('')将字段用逗号隔开
FOR XML PATH('') 将查询结果显示为XML 经常用来将查询结果按逗号分隔后显示至某一字段 select * from Area结果 添加FOR XML PATH('')后 select ...
- FOR XML PATH实现小九九
数据库环境:SQL SERVER2008R2 今天我们用SQL实现一下九九乘法表的功能. 实现的逻辑不是很复杂,难点在于怎么把想要的内容从同一列里头拼接到同一行上. 在这里,我们用到了FOR XML ...
- (4.28)for xml path 在合并拆分上的作用演示
for xml path 用于合并与拆分 1.合并 很多时候需要在SQL Server中创建逗号分隔列表.这可以使用SQL Server的DOR XML PATH功能完成.与select语句一起使用时 ...
- 多列转1列 SqlServer 实现oracle10g的 wmsys.wm_concat()--for xml path('')
有这么一个表 )) , 'aa') , 'bb') , 'aaa') , 'bbb') , 'ccc') , 'ddd') , 'fff') ...
- 数据库学习:for xml path
一.开发环境 数据库:SQLServer2012 二.语法简介 for xml path它以xml形式展示查询的结果集 三.语法介绍 现在数据库中有一张表 1.基本语法 select * from B ...
- SQL SERVER数据库内 FOR XML PATH 函数用法
把自己点点滴滴的学习记录下来!!!! 一.FOR XML PATH 简单介绍 那么还是首先来介绍一下FOR XML PATH ,假设现在有一张兴趣爱好表(TBJTXXCE)用来存放就诊患者信息,表结构 ...
- 利用XSD配合XSLT產出特定格式Word檔案 -摘自网络
利用類別產生XSD檔 產出XSD檔的目的在於提供Word樣板設計之資料框架 在此使用微軟提供之XML Schema Definition Tool (Xsd.exe)工具產生XSD檔 1. 定義類別 ...
随机推荐
- 程序 查看 jvm版本
System.getProperty("java.version")返回你所需要的.
- lambda 表达式+python内置函数
#函数 def f1(a,b): retrun a+b #lambda方式,形参(a,b):返回值(a+b) f2=lambda a,b : a+b 在一些比较简单的过程计算就可以用lambda p ...
- SQL Server附加数据库提示“版本为661,无法打开,支持655版本……”
在我们使用别人导出的数据库的时候,有时候我们会通过附加数据库的方法,把别人导出的数据库附加到我们的电脑中,这时,或许你会遇到这种问题,附加时,提示版本为XXX,无法打开,支持AAA版本. 这是怎么回事 ...
- 洛谷P1149 火柴棒等式
题目描述 给你n根火柴棍,你可以拼出多少个形如“A+B=C”的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能是0).用火柴棍拼数字0-9的拼法如图所示: 注意: 1.加号与等号 ...
- Codeforces 388 D. Fox and Perfect Sets
$ >Codeforces \space 388 D. Fox and Perfect Sets<$ 题目大意 : 定义一个完美的集合 \(S\) ,当且仅当 \(S\) 非负非空,且 ...
- fir.im Weekly - 嘘,关于***!
上 Github 交友刷 StackOverflow 解惑,是攻城狮必备技能,加快打怪练级速度.关于,@左耳朵耗子 在微博上分享了一篇文档,轻一点教你建一个VPN服务器,重一点到教你在路由器上***, ...
- 【9.7校内测试】【二分+spfa】【最长上升子序列】【状压DP+贪心(?)】
刘汝佳蓝书上的题,标程做法是从终点倒着$spfa$,我是二分答案正着$spfa$判断可不可行.效果是一样的. [注意]多组数据建边一定要清零啊QAQ!!! #include<iostream&g ...
- bzoj 3940: [Usaco2015 Feb]Censoring -- AC自动机
3940: [Usaco2015 Feb]Censoring Time Limit: 10 Sec Memory Limit: 128 MB Description Farmer John has ...
- VK Cup 2016 - Round 1 (Div. 2 Edition) C. Bear and Forgotten Tree 3 构造
C. Bear and Forgotten Tree 3 题目连接: http://www.codeforces.com/contest/658/problem/C Description A tre ...
- HDU 4685 Prince and Princess (2013多校8 1010题 二分匹配+强连通)
Prince and Princess Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Othe ...