久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

如何在sql server中解析xml以處理DateTime DataType中的

How to parse xml in sql server to process NULL value in DateTime DataType(如何在sql server中解析xml以處理DateTime DataType中的NULL值)
本文介紹了如何在sql server中解析xml以處理DateTime DataType中的NULL值的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我在 sql server 中創建了一個示例查詢來解析來自 xml 的數據并立即顯示它.雖然我會在我的表中插入這些數據,但在此之前我面臨一個簡單的問題.

我想在日期時間字段 ADDED_DATE="NULL" 中插入 NULL,如下面給出的 xml 所示.但是當我執行這個查詢時.它給了我錯誤

從字符串轉換日期時間時轉換失敗.

我做錯了什么.請強調我的錯誤.

聲明@xml varchar(1000)設置@xml='<根目錄><TX_MAP FK_GUEST_ID="1" FK_CATEGORY_ID="2" ATTRIBUTE="Test" DESCRIPTION="TestDesc" IS_ACTIVE="1" ADDED_BY="NULL" ADDED_DATE="NULL" MODIFIED_BY="NULL" MODIFIED_DATE="NULL"></TX_MAP><TX_MAP FK_GUEST_ID="2" FK_CATEGORY_ID="1" ATTRIBUTE="Test2" DESCRIPTION="TestDesc2" IS_ACTIVE="1" ADDED_BY="NULL" ADDED_DATE="NULL" MODIFIED_BY="NULL" MODIFIED_DATE="NULL"></TX_MAP>'聲明@handle intexec sp_xml_preparedocument @handle 輸出,@xmlselect * from OPENXML(@handle,'/ROOT/TX_MAP',1)和(FK_GUEST_ID INT,FK_CATEGORY_ID VARCHAR(10),屬性 VARCHAR(100),[描述] VARCHAR(100),IS_ACTIVE VARCHAR(10),ADDED_BY VARCHAR(100),ADDED_DATE 日期時間 NULL,MODIFIED_BY VARCHAR(100),MODIFIED_DATE 日期時間 NULL)

我使用的是 Sql Server 2005.

解決方案

在谷歌搜索了一個小時后,我得到了我的問題的答案,并想與大家分享,以便對未來的用戶來說變得容易.

聲明@xml varchar(1000)設置@xml='<根目錄><TX_MAP FK_GUEST_ID="1" FK_CATEGORY_ID="2" ATTRIBUTE="Test" DESCRIPTION="TestDesc" IS_ACTIVE="1" ADDED_BY="NULL" ADDED_DATE="12/3/2010" MODIFIED_BY="NULL" MODIFIED_DATE="12/3/2010"></TX_MAP><TX_MAP FK_GUEST_ID="2" FK_CATEGORY_ID="1" ATTRIBUTE="Test2" DESCRIPTION="TestDesc2" IS_ACTIVE="1" ></TX_MAP>'聲明@handle intexec sp_xml_preparedocument @handle 輸出,@xmlselect * from OPENXML(@handle,'/ROOT/TX_MAP',1)和(FK_GUEST_ID INT,FK_CATEGORY_ID VARCHAR(10),屬性 VARCHAR(100),[描述] VARCHAR(100),IS_ACTIVE VARCHAR(10),ADDED_BY VARCHAR(100),ADDED_DATE 日期時間,MODIFIED_BY VARCHAR(100),MODIFIED_DATE 日期時間)

<塊引用>

你需要做的只是省略將導致的那些屬性NULL 值.

I have created a sample query in sql server to parse data from xml and to display it right now. Although I will be inserting this data in my table but before that I am facing a simple problem.

I want to insert NULL in datetime field ADDED_DATE="NULL" as shown in xml given below. But when I executes this query. It gives me error

Conversion failed when converting datetime from character string.

What mistake am i doing. Please highlight my mistake.

declare @xml varchar(1000)
set @xml= '
<ROOT>
    <TX_MAP FK_GUEST_ID="1"  FK_CATEGORY_ID="2" ATTRIBUTE="Test" DESCRIPTION="TestDesc" IS_ACTIVE="1" ADDED_BY="NULL" ADDED_DATE="NULL" MODIFIED_BY="NULL" MODIFIED_DATE="NULL"></TX_MAP>
    <TX_MAP FK_GUEST_ID="2"  FK_CATEGORY_ID="1" ATTRIBUTE="Test2" DESCRIPTION="TestDesc2" IS_ACTIVE="1" ADDED_BY="NULL" ADDED_DATE="NULL" MODIFIED_BY="NULL" MODIFIED_DATE="NULL"></TX_MAP>
</ROOT> '

declare @handle int
exec sp_xml_preparedocument @handle output, @xml

select * from OPENXML(@handle,'/ROOT/TX_MAP',1)
with 
    (
    FK_GUEST_ID INT
    ,FK_CATEGORY_ID VARCHAR(10)
    ,ATTRIBUTE VARCHAR(100)
    ,[DESCRIPTION] VARCHAR(100)
    ,IS_ACTIVE VARCHAR(10)
    ,ADDED_BY VARCHAR(100)
    ,ADDED_DATE DATETIME NULL
    ,MODIFIED_BY VARCHAR(100)
    ,MODIFIED_DATE DATETIME NULL
    )

I am using Sql Server 2005.

解決方案

After googling an hour, I got answer to my question and would like to share with you all so that for future users it become easy.

declare @xml varchar(1000)
set @xml= '
<ROOT>
    <TX_MAP FK_GUEST_ID="1"  FK_CATEGORY_ID="2" ATTRIBUTE="Test" DESCRIPTION="TestDesc" IS_ACTIVE="1" ADDED_BY="NULL" ADDED_DATE="12/3/2010" MODIFIED_BY="NULL" MODIFIED_DATE="12/3/2010"></TX_MAP>
    <TX_MAP FK_GUEST_ID="2"  FK_CATEGORY_ID="1" ATTRIBUTE="Test2" DESCRIPTION="TestDesc2" IS_ACTIVE="1" ></TX_MAP>
</ROOT> '

declare @handle int
exec sp_xml_preparedocument @handle output, @xml

select * from OPENXML(@handle,'/ROOT/TX_MAP',1)
with 
    (
    FK_GUEST_ID INT
    ,FK_CATEGORY_ID VARCHAR(10)
    ,ATTRIBUTE VARCHAR(100)
    ,[DESCRIPTION] VARCHAR(100)
    ,IS_ACTIVE VARCHAR(10)
    ,ADDED_BY VARCHAR(100)
    ,ADDED_DATE DATETIME
    ,MODIFIED_BY VARCHAR(100)
    ,MODIFIED_DATE DATETIME 
    )

What you need to do is just to omit those attributes that will result into NULL value.

這篇關于如何在sql server中解析xml以處理DateTime DataType中的NULL值的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

Converting Every Child Tags in to a Single Column with multiple Delimiters -SQL Server (3)(將每個子標記轉換為具有多個分隔符的單列-SQL Server (3))
How can I create a view from more than one table?(如何從多個表創建視圖?)
Create calculated value based on calculated value inside previous row(根據前一行內的計算值創建計算值)
How do I stack the first two columns of a table into a single column, but also pair third column with the first column only?(如何將表格的前兩列堆疊成一列,但也僅將第三列與第一列配對?) - IT屋-程序員軟件開發技
Recursive t-sql query(遞歸 t-sql 查詢)
Convert Month Name to Date / Month Number (Combinations of Questions amp; Answers)(將月份名稱轉換為日期/月份編號(問題和答案的組合))
主站蜘蛛池模板: 精品视频在线一区 | 国产精品中文字幕在线 | 黄视频免费 | 国产主播第一页 | 99免费在线视频 | 一级欧美黄色片 | 中文字幕人成乱码在线观看 | 欧美一区二区三区在线 | 四色成人av永久网址 | 日本一二区视频 | 成人精品鲁一区一区二区 | 欧美一区二区三区在线视频 | 欧美日韩国产一区二区三区 | 精品一区二区三区在线观看 | 久久国产精品一区 | 精品在线免费观看视频 | 麻豆亚洲| 毛片网在线观看 | 91精品国产91久久久久久 | av激情在线 | 欧美国产一区二区 | 国产精品久久久久999 | 日韩精品一区二区三区久久 | 成年免费大片黄在线观看岛国 | 亚洲精品视频一区二区三区 | 国产精品亚洲一区二区三区在线观看 | 国产一级特黄真人毛片 | 亚洲精品毛片av | 黄瓜av | 国产视频在线观看一区二区三区 | 欧美国产免费 | 亚洲啊v在线 | a免费视频 | www.四虎.com| 日本小视频网站 | 欧美在线观看黄色 | 国产福利91精品 | 中文字幕日韩欧美一区二区三区 | 四虎永久影院 | 欧美一级视频免费看 | 一级毛片在线播放 |