1. 程式人生 > >SQLServer XML型別

SQLServer XML型別

SQL Server從2005起開始支援xml型別,這個資料型別對於後期的改變非常有用。一對多的關係在後期變成了多對多的關係,XML型別就是一個不錯的選擇。

  1、建立測試資料

  建立表

  --建立表,包含Xml型別列
  CREATE TABLE Person
  (
      Id int,
      Info xml
  )

  插入測試資料

  --插入3條測試資料
  INSERT Person VALUES(1,'<Person><ID>1</ID><Name>劉備</Name></Person>')
  INSERT Person VALUES(2,'<Person><ID>2</ID><Name>關羽</Name></Person>
')   INSERT Person VALUES(3,'<Person><ID>3</ID><Name>張飛</Name></Person>')

  2、查詢節點內容

  query()方法

  --查詢節點內容query()方法
  SELECT Id,Info.query('(/Person/Name)[1]') FROM Person WHERE ID = 2

  3、查詢值

  value()方法

  --查詢值value()方法
  SELECT Id,Info.value('(/Person/Name)[1]','
VARCHAR(50)') FROM Person WHERE ID = 2   SELECT * FROM Person WHERE Info.value('(/Person/Name)[1]','VARCHAR(50)') = '張飛'

  4、查詢是否存在

  exist()方法

  --查詢是否存在 exist()方法
  SELECT * FROM Person WHERE Info.exist('(/Person/Name)[1]') = 1

  5、查詢節點

  nodes()方法

  --查詢節點
  SELECT T2.Loc.query('.')
  FROM Person
  
CROSS APPLY Info.nodes('/Person/Name') as T2(Loc)

  6、修改XML

  modify()方法

  1、增加節點

  --modify(insert)增加節點
  UPDATE Person SET 
  Info.modify('
      insert
      <Age>25</Age>
      into (/Person)[1]'
  )
  WHERE Id = 3

  2、刪除節點

  -- 刪除節點內容(xQuery知識,沒有text()就直接刪除節點)
  UPDATE Person
  SET Info.modify('
    delete  (/Person)[1]/Age/text()'
  )
  where ID = 3

相關推薦

SQLServer XML型別

SQL Server從2005起開始支援xml型別,這個資料型別對於後期的改變非常有用。一對多的關係在後期變成了多對多的關係,XML型別就是一個不錯的選擇。   1、建立測試資料   建立表   --建立表,包含Xm

SqlServerXML型別資料的查詢

第一次接觸這種查詢,這裡做一個記錄後面再找時間慢慢完善。 簡單  SQL select XmlData.value('(/Items/WFItem)[1]','nvarchar(max)') as ever_code  from CONTRACT_CUSTOMER_F

SQL 用於各種資料庫的資料型別(轉載) sqlserver 資料型別 取值範圍 長度

SQL 用於各種資料庫的資料型別 來源 http://www.runoob.com/sql/sql-datatypes.html    面向資料庫程式設計中,資料型別的取值範圍、長度,可能是需要經常檢視的資料。 Microsoft Access、MySQL 和 SQL S

PostgreSQL的XML型別

    xml型別用於儲存XML資料。使用字串也可以儲存XML資料,但不能保證其合法性。支援xml型別後,資料庫會對資料進行合法性檢查,同時提供函式進行型別安全性檢查。 1.xml型別    xml型別中儲存資料有兩種:documents和content。content可

SQLserver總結(型別轉換函式、聯合UNION等)

SQLserver總結(COUNT(*)、型別轉換函式、聯合UNION)use wx105;create table sale(proName nvarchar(100),sales int);insert into sale values('傻子瓜子',30);insert

SQL 2005 中的XML型別 .

SQL Server 2005的XmL資料型別之基礎篇 一、引言 如今,在SQL Server 2005中,XML成為第一流的資料型別。藉助於基於XML模式的強型別化支援和基於伺服器端的XML資料校驗功能,現在,開發者可以對儲存的XML文件進行輕鬆的遠端修改。 作為資料庫開發者,許多人都必須大量地涉及XML

IDEA建立xml型別

今天練習一個專案,在IDEA上面開發。我想要建立某種型別的xml檔案,比如mabatis的配置檔案。可是我新建檔案裡面沒有找到合適的,在網上看到有人說可以建立模板。果然可行。過程:點選file-->otherSetting-->Default Setting,搜尋

18句話入門SQLServer XML

/* sql xml 入門:     --by jinjazz     --http://blog.csdn.net/jinjazz         1、xml:        能認識元素、屬性和值         2、xpath:    定址語言,類似windows目錄的查詢(沒用過dir命令的話

被人忽視的sqlserver資料型別--image

  SqlServer中有一種資料型別是Image,用來儲存圖片大小不超過2g的圖片,將圖片轉換為二進位制!缺點是佔用了很大的資料儲存空間。但是現對於之前的儲存物理路徑來說讀取圖片和儲存圖片方便了很多。   那麼圖片在MVC程式中是如何存入資料庫,並從資料庫顯示到頁面上的

SQLServer中sql for xml path 的用法

left 關註 所有 -- htm tar 測試數據 str lan 閱讀目錄 創建測試表&插入測試數據 for xml path使用 普通用法 自定義節點名稱 將字段作為xml的屬性 我們通常需要獲取一個多行的某個字段拼出的字符串

使用表型別(Table Type-SqlServer)實現百萬級別的資料一次性毫秒級別插入

使用表型別(Table Type)實現百萬級別的資料一次性插入 思路 1 建立表型別(TaBleType)         2 建立新增儲存過程    3 使用C#語言構建一個DataTable      &

第4章:介紹python物件型別/4.1 python的核心資料型別/4.2 字串/4.2.4 字串格式化、字串編輯HTML或者XML語法、使用正則表示式

字串格式化 %s 方式格式化: >>> "%s,abc,%s" %('123','456') '123,abc,456' {數字}方式格式化: >>> "{0},abc,{1}".format('123','456') '123,a

mssql sqlserver text資料型別專題說明

摘要: 下文分享text資料型別的簡介及處理text資料型別所涉及的函式,如下所示: text 資料型別簡介: mssql sqlserver 常用資料型別簡介 mssql sqlserver text同ntext資料型別區別說明 mssql sqlserver varchar(max)同te

sqlserver 獲取所有表的欄位型別等資訊

USE [MultipleAnalysisDataFY] GO /****** Object: View [dbo].[selectfieldtype] Script Date: 2018/11/7 星期三 12:02:27 ******/ SET ANSI_NULLS ON GO SET

SqlServer中的資料型別UniqueIdentifier

SqlServer中的資料型別UniqueIdentifier到底是什麼東東? 該型別一般用來做為主鍵使用,可用SQL語法的newid()來生成一個唯一的值。我想請問的是,這個值是一個長整型的資料值呢,還是個其它的什麼值?我在程式中該如何去控制他?歡迎多多交

MyBatis中的XML配置的一些引數、型別對應關係表

MyBatis中的各項設定引數 這是 MyBatis 中極為重要的調整設定,它們會改變 MyBatis 的執行時行為。下表描述了設定中各項的意圖、預設值等。 一個配置完整的 settings 元素的示例如下: <settings> <setting name="cache

mybatis xml語句返回map型別

<select id="selectByPrimaryKey" resultType="java.util.Map" parameterType="java.lang.String" > select <include refid="Base_Colum

SQLServer之資料庫型別對應Java中資料型別

SQL Server 型別 JDBC 型別 (java.sql.Types) Java 語言型別 bigint BIGINT long timestamp binary

解決:org.xml.sax.SAXParseException: 元素型別 "head" 必須由匹配的結束標記 "</head>問題

事件背景: 今天就碰到了這樣的問題, org.xml.sax.SAXParseException: 元素型別 "head" 必須由匹配的結束標記 "</head> 我本地編譯的時候報錯,上面報錯,起初 我以為是我畫的html頁面報錯呢,一個個標籤查呀,查了一個多小時沒結果 原因:

SQLServer使用:表的欄位型別

表的欄位型別: char: 固定長度,儲存ANSI字元,不足的補英文半形空格。 nchar: 固定長度,儲存Unicode字元,不足的補英文半形空格 varchar: 可變長度,儲存ANSI字元,根據資料長度自動變化。 nvarchar: 可變長度,儲存Unicode字元,根據資料長度自