บทช่วยสอน ฟังก์ชั่น XQuery ที่ดีที่สุดในปี 2024 ในบทช่วยสอนนี้ คุณสามารถเรียนรู้ ฟังก์ชั่น XQuery,XQuery ในตัวฟังก์ชั่น,ตัวอย่างของฟังก์ชั่นการโทร,ฟังก์ชั่นที่ผู้ใช้กำหนด XQuery,

ฟังก์ชั่น XQuery

XQuery 1.0, 2.0 และ XPath XSLT 2.0 หุ้นห้องสมุดเดียวกัน


ฟังก์ชั่น XQuery

XQuery มีมากกว่า 100 ฟังก์ชั่น ฟังก์ชั่นเหล่านี้สามารถนำมาใช้สำหรับค่าสตริง, ตัวเลข, วันที่และการเปรียบเทียบเวลาโหนดและการจัดการ QName การจัดการลำดับค่าบูลีนและอื่น ๆ นอกจากนี้คุณยังสามารถกำหนดฟังก์ชั่นของคุณเองใน XQuery


XQuery ในตัวฟังก์ชั่น

ฟังก์ชั่น XQuery namespace URI:

http://www.w3.org/2005/02/xpath-functions

คำนำหน้า namespace ฟังก์ชั่นเริ่มต้นคือ Fn:

เคล็ดลับ: เรียกคำนำหน้าเช่น Fn :: ฟังก์ชั่นมักจะผ่านสตริง Fn () อย่างไรก็ตามตั้งแต่ Fn: เป็นคำนำหน้าเริ่มต้นของ namespace ชื่อฟังก์ชั่นไม่จำเป็นต้องใช้คำนำหน้าเมื่อเรียก

คุณสามารถค้นหาสมบูรณ์ "ในการกวดวิชาของเรา XPath ในตัวฟังก์ชั่น XQuery คู่มืออ้างอิง ."


ตัวอย่างของฟังก์ชั่นการโทร

สามารถโทรออกฟังก์ชั่นที่จะใช้กับการแสดงออก ลองพิจารณาตัวอย่างต่อไปนี้:

ตัวอย่างที่ 1: อิลิเมนต์

<name>{upper-case($booktitle)}</name>

ตัวอย่างที่ 2: ในการแสดงออกของเส้นทางในการวินิจฉัย

doc("books.xml")/bookstore/book[substring(title,1,5)='Harry']

ตัวอย่างที่ 3: ให้คำสั่ง

let $name := (substring($booktitle,1,4))


ฟังก์ชั่นที่ผู้ใช้กำหนด XQuery

หากคุณไม่สามารถหาฟังก์ชั่นที่จำเป็น XQuery คุณสามารถเขียนฟังก์ชั่นของคุณเอง

หรือผู้ใช้สามารถกำหนดฟังก์ชั่นฐานข้อมูลแบบสอบถามแบบกำหนดเองที่แยกต่างหาก

ไวยากรณ์

declare function前缀:函数名($参数 AS 数据类型)
AS返回的数据类型
{
th.函数代码th.
}

เกี่ยวกับฟังก์ชั่นที่ผู้ใช้กำหนดหมายเหตุ:

  • กรุณาใช้คำหลักฟังก์ชั่นประกาศ
  • ชื่อฟังก์ชั่นต้องใช้คำนำหน้า
  • ชนิดข้อมูลพารามิเตอร์โดยทั่วไปสอดคล้องกับข้อมูลที่กำหนดไว้ใน XML ประเภทแบบแผน
  • ร่างกายทำงานจะต้องถูกล้อมรอบด้วยวงเล็บปีกกา

ในคำสั่งแบบสอบถามที่ผู้ใช้กำหนดตัวอย่างฟังก์ชั่น:

declare function local:minPrice($p as xs:decimal?,$d as xs:decimal?)
AS xs:decimal?
{
let $disc := ($p * $d) div 100
return ($p - $disc)
}

Below is an example of how to call the function above:

<minPrice>{local:minPrice($book/price,$book/discount)}</minPrice>
ฟังก์ชั่น XQuery
10/30