最新專案上遇到資料上報的問題需要修改xml型別字段,xml型別不能作為varchar型別直接修改。給大家做個簡單介紹使用sqlserver的xml操作方法。
在ms中新建資料庫表testtable,定義其中乙個欄位contentxml 為xml型別
declare
@xml xml
set@xml='
1前端2業務
3db'update testtable set contentxml=
@xml
where id=
1;
在【db】後面新增【移動開發】
update testtable set contentxml.
modify
('insert 移動開發 as last into(/myclass)[3]'
)where id=
1;
刪除剛才的節點4【移動開發】
update testtable set contentxml.
modify
('delete /myclass[4]'
)where id=
1;
查詢xml欄位中 myclass中值為【前端】的myname節點
select
*from testtable
where contentxml.exist(
'(/myclass/myname[text()="前端"])')=
1;
update testtable set contentxml.
modify('
replace value of myclass[1]/@myname[1]
with "大前端開發"')
where id=
1
SQL SERVER中XML命名空間
有xml如下 create table a params xml insert into a params values 202014111101 013920130005 name0005 0prod.1000000100088400 msgbody節點聲名了命名空間,用平常的查詢語句是查不到資料...
SQLServer中設定XML索引
xml索引分為主xml索引和次xml索引 1.主xml索引 為了完整 一致的表示xml的值,格式 create primary xml index indexname on tablename columname 2.次xml索引 對於xpath和xquery表示式,可以使用xml次索引 path索...
XML中DOCTYPE欄位的解析
dtd宣告始終以 doctype開頭,空一格後跟著文件根元素的名稱,如果是內部dtd,則再空一格出現,在中括號中是文件型別定義的內容.而對於外部dtd,則又分為私有dtd與公共dtd,私有dtd使用system表示,接著是外部dtd的url.而公共dtd則使用public,接著是dtd公共名稱,接著...