Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A következőkre vonatkozik:SQL Server
Az atomértékek sorozatából $argaz az elem, amelynek értéke kisebb, mint az összes többi elemé.
Szintaxis
fn:min($arg as xdt:anyAtomicType*) as xdt:anyAtomicType?
Érvek
$arg
Olyan elemek sorozata, amelyekből a minimális értéket kell visszaadni.
Megjegyzések
A min() átadott atomizált értékek minden típusának azonos alaptípusú altípusnak kell lennie. Az elfogadott alaptípusok azok a típusok, amelyek támogatják a gt műveletet. Ezek a típusok közé tartozik a három beépített numerikus alaptípus, a dátum/idő alaptípus, az xs:sztring, az xs:boolean és az xdt:untypedAtomic. Az xdt:untypedAtomic típusú értékek xs:double értékre lesznek állítva. Ha ezek a típusok elegye van, vagy ha más típusú értékeket adnak át, statikus hiba keletkezik.
A min() eredménye megkapja az átadott típus alaptípusát, például xs:double xdt:untypedAtomic esetén. Ha a bemenet statikusan üres, akkor a rendszer az üres értéket feltételezi, és statikus hibát ad vissza.
A min() függvény a bemeneti sorozat bármely más értékénél kisebb értéket adja vissza a sorozatban. Xs:sztringértékek esetén a rendszer az alapértelmezett Unicode Codepoint-rendezést használja. Ha xdt:untypedAtomic értéket nem lehet xs:double értékre leadni, akkor az érték figyelmen kívül lesz hagyva a bemeneti sorrendben, $arg. Ha a bemenet egy dinamikusan számított üres sorozat, a rendszer visszaadja az üres sorozatot.
Példák
Ez a témakör XQuery-példákat tartalmaz az AdventureWorks-adatbázis különböző xml- típusú oszlopaiban tárolt XML-példányokra.
Egy. A min() XQuery függvény használatával keresse meg a legkevesebb munkaórát tartalmazó munkaterületet
Az alábbi lekérdezés lekéri a termékmodell (ProductModelID=7) gyártási folyamatának összes olyan műhelyhelyét, amely a legkevesebb munkaórával rendelkezik. Az alábbiakban látható módon általában egyetlen hely lesz visszaadva. Ha több helyen egyenlő számú munkaóra van, akkor mind vissza lesznek adva.
select ProductModelID, Name, Instructions.query('
declare namespace AWMI=
"https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions";
for $Location in /AWMI:root/AWMI:Location
where $Location/@LaborHours =
min( /AWMI:root/AWMI:Location/@LaborHours )
return
<Location WCID= "{ $Location/@LocationID }"
LaborHrs= "{ $Location/@LaborHours }" />
') as Result
FROM Production.ProductModel
WHERE ProductModelID=7
Jegyezze fel az előző lekérdezésben szereplő következőket:
- Az XQuery prolog névtér kulcsszó egy névtérelőtagot határoz meg. Ezt az előtagot ezután az XQuery-törzs használja.
Az XQuery-törzs a WCID és < attribútumokkal rendelkező >Hely elemet tartalmazó XML-t hozza létre.
- A lekérdezés a ProductModelID és a névértékeket is lekéri.
Ez az eredmény:
ProductModelID Name Result
--------------- ---------------- ---------------------------------
7 HL Touring Frame <Location WCID="45" LaborHrs="0.5"/>
Megvalósítási korlátozások
Ezek a korlátozások:
A min() függvény az összes egész számot xs:decimális értékre képezi le.
Az xs:duration típusú értékek min() függvénye nem támogatott.
Azok a sorozatok, amelyek típusokat kevernek az alaptípus-határok között, nem támogatottak.
A rendezést biztosító szintaktikai beállítás nem támogatott.
Lásd még:
XQuery-függvények xml adattípusú