"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية الاستعلام عن قيمة عمود XML في SQL Server؟

كيفية الاستعلام عن قيمة عمود XML في SQL Server؟

نشر في 2025-04-19
تصفح:885

How to Query Values within XML Columns in SQL Server?

الوصول إلى البيانات في أعمدة XML الخاصة بخادم SQL

يسمح SQL Server بتخزين بيانات XML في الأعمدة المعرفة بأنها أنواع بيانات XML. يتطلب استرداد بيانات محددة من هذه الأعمدة استفسارات متخصصة.

لنفترض أن لديك عمود XML يسمى "أدوار" مع هذا الهيكل:

AlphaBetaGamma

للعثور على صفوف تحتوي على دور معين ، استخدم هذا الاستعلام:

SELECT
  Roles
FROM
  MyTable
WHERE
  Roles.value('(/root/role)[1]', 'varchar(max)') LIKE 'StringToSearchFor'

يستخدم هذا أدوار. هذا يتيح البحث عن أدوار محددة. إذا لم يكن العمود الخاص بك بالفعل نوع بيانات XML ، فاستخدم يلقي لتحويله قبل الاستعلام.

يمكن أن يستهدف الاستعلام أيضًا سمات XML. على سبيل المثال ، مع هذا XML في عمود "البيانات":

للحصول على صفوف حيث

codesystem

هو "2":

للحصول على المزيد من الاستعلام XML في T-SQL ، راجع:

SELECT
  [data]
FROM
  [dbo].[CodeSystemCodes_data]
WHERE
  CAST([data] AS XML).value('(/Utilities.CodeSystems.CodeSystemCodes/@CodeSystem)[1]', 'varchar(max)') = '2'

تسطيح بيانات XML في SQL Server
  • بدلاً من ذلك ، يوفر
  • Cross تطبيق
  • مرونة أكبر للبحث عن "دور" متعددة:
  • يختار * من (( يختار pref.value ('(text ()) [1]' ، 'varchar (32)') كـ rolename من mytable تنطبق أدوار. ) نتيجة أين rolename مثل "٪ ga ٪ '

يسمح هذا النهج باستخلاص البيانات أكثر كفاءة واستهداف من أعمدة XML في SQL Server.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3