簡體   English   中英

SQL 中的 XML 數據類型列

[英]XML Data type column in SQL

我有一個叫做評估的表。 在該表中,我們存儲了對來自應用程序的問題列表的響應,並且我們有一個 XML 列,其 XML 數據類型以 XML 格式存儲問題的相同響應。 大多數情況下,當用戶被拒絕傳遞時,XML 列將具有空值。 任何人都可以知道如果值被傳遞和未傳遞,XML 列將占用多少存儲空間?

XML 文檔的內部表示與您在查看 XML 文檔時所看到的不同。

這是關於該主題的一個很好的鏈接: 在哪里可以找到 SQL Server 數據類型的大小?

例如,與流行的看法相反,XML 比 JSON 小。

SQL

DECLARE @tbl TABLE (ID INT IDENTITY PRIMARY KEY, jsondata NVARCHAR(MAX), xmldata XML);
INSERT INTO @tbl (jsondata, xmldata)
VALUES
(N'{
    "SquidGame": {
        "Genre": "Thriller",
        "Rating": {
            "@Type": "Imdb",
            "#text": "8.1"
        },
        "Stars": [
            "Lee Jung-jae",
            "Park Hae-soo"
        ],
        "Budget": null
    }
}', N'<SquidGame>
      <Genre>Thriller</Genre>
      <Rating Type="Imdb">8.1</Rating>
      <Stars>Lee Jung-jae</Stars>
      <Stars>Park Hae-soo</Stars>
      <Budget />
    </SquidGame>');

SELECT * 
    , jsondata_length = DATALENGTH(jsondata), xmldata_length = DATALENGTH(xmldata)
FROM @tbl;

輸出

+----+-----------------+----------------+
| ID | jsondata_length | xmldata_length |
+----+-----------------+----------------+
|  1 |             374 |            220 |
+----+-----------------+----------------+

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM