Azure Digital Twins nyelvi referencia: Függvények

Ez a dokumentum referenciainformációkat tartalmaz a lekérdezési nyelvhez Azure Digital Twins függvényekkel kapcsolatban.

ENDSWITH

Egy sztring típusú függvény, amely meghatározza, hogy egy adott sztring egy másik sztringre végződik-e.

Szintaxis

ENDSWITH(<string-to-check>,<ending-string>)

Argumentumok

  • <string-to-check>: Egy sztring, amely ellenőrzi a végét
  • <ending-string>: Egy sztring, amely azt a végződést jelképez, amely a következőt ábrázolja:

Válaszok

Logikai érték, amely azt jelzi, hogy az első sztringkifejezés a másodikkal végződik-e.

Példa

A következő lekérdezés visszaadja az összes olyan digitális ikereszközt, amelynek azonosítói a karakterláncra -small végződnek.

SELECT *
FROM DIGITALTWINS T
WHERE ENDSWITH(T.$dtId, '-small')

IS_DEFINED

Típusellenőrzési és -típusválogatási függvény, amely azt ellenőrzi, hogy van-e definiálva tulajdonság.

Ez csak akkor támogatott, ha a tulajdonságérték primitív típus. A primitív típusok közé tartozik a sztring, a logikai, a numerikus vagy a null . DateTime, objektumtípusok és tömbök nem támogatottak.

Szintaxis

IS_DEFINED(<property>)

Argumentumok

<property>, egy tulajdonság, amely meghatározza, hogy definiálva van-e. A tulajdonságnak primitív típusúnak kell lennie.

Válaszok

Logikai érték, amely azt jelzi, hogy a tulajdonsághoz hozzá lett-e rendelve érték.

Példa

A következő lekérdezés visszaadja az összes olyan digitális ikereszközt, amely meghatározott Location (Hely) tulajdonságot ad vissza.

SELECT *
FROM DIGITALTWINS
WHERE IS_DEFINED(Location)

IS_OF_MODEL

Típusellenőrzési és -típusválogatási függvény, amely meghatározza, hogy egy iker egy adott modelltípusba való-e. Olyan modelleket tartalmaz, amelyek a megadott modelltől öröklődik.

Szintaxis

IS_OF_MODEL(<twin-collection>,'<model-ID>', exact)

Argumentumok

Szükséges:

  • <model-ID>: Az ellenőriznie kell a modellazonosítót.

Nem kötelező:

  • <twin-collection>: Adja meg az ikergyűjteményt, ha több is keres (például egy JOIN használata).
  • exact: Pontos egyezést igényel. Ha ez a paraméter nincs beállítva, az eredményhalmaz olyan ikereket fog tartalmazni, amelyek a megadott modelltől örökölnek modelleket.

Válaszok

Logikai érték, amely azt jelzi, hogy a megadott ikereszköz megfelel-e a megadott modelltípusnak.

Példa

A következő lekérdezés olyan ikereket ad vissza a DT-gyűjteményből, amelyek pontosan a modelltípusba dtmi:example:room;1 esnek.

SELECT ROOM FROM DIGITALTWINS DT WHERE IS_OF_MODEL(DT, 'dtmi:example:room;1', exact)

IS_BOOL

Típusellenőrzési és -típusválogatási függvény annak meghatározására, hogy egy kifejezés logikai értékkel rendelkezik-e.

Ezt a függvényt gyakran kombinálják más predikátumokkal, ha a lekérdezési eredményeket feldolgozó program logikai értéket igényel, és olyan eseteket szeretne kiszűrni, amelyekben a tulajdonság nem logikai érték.

Szintaxis

IS_BOOL(<expression>)

Argumentumok

<expression>, egy kifejezés, amely azt ellenőrzi, hogy logikai érték-e.

Válaszok

Logikai érték, amely azt jelzi, hogy a megadott kifejezés típusa logikai típusú-e.

Példa

A következő lekérdezés kiválasztja a logikai tulajdonságú digitális HasTemperature ikereket.

SELECT *
FROM DIGITALTWINS T
WHERE IS_BOOL( HasTemperature )

A következő lekérdezés a fenti példára építve kiválasztja a logikai tulajdonságú digitális ikereket, és ennek a tulajdonságnak az értéke HasTemperature nem false .

SELECT *
FROM DIGITALTWINS T
WHERE IS_BOOL( HasTemperature ) AND HasTemperature != false

IS_NUMBER

Típusellenőrzési és -típusválogatási függvény annak meghatározására, hogy egy kifejezésnek van-e számértéke.

Ezt a függvényt gyakran kombinálják más predikátumokkal, ha a lekérdezési eredményeket feldolgozó program számértéket igényel, és szeretné kiszűrni az olyan eseteket, ahol a tulajdonság nem szám.

Szintaxis

IS_NUMBER(<expression>)

Argumentumok

<expression>, egy kifejezés, amely azt ellenőrzi, hogy szám-e.

Válaszok

Logikai érték, amely azt jelzi, hogy a megadott kifejezés típusa szám-e.

Példa

A következő lekérdezés azokat a digitális ikereket választja ki, amelyek numerikus tulajdonságokkal bírnak, és az értéke nem Capacity egyenlő 0-ás értékkel.

SELECT * 
FROM DIGITALTWINS 
WHERE IS_NUMBER( Capacity ) AND Capacity != 0

IS_STRING

Típusellenőrzési és -típusválogatási függvény annak meghatározására, hogy egy kifejezés sztringértékkel rendelkezik-e.

Ezt a függvényt gyakran kombinálják más predikátumokkal, ha a lekérdezési eredményeket feldolgozó program sztringértéket igényel, és szeretné kiszűrni az olyan eseteket, ahol a tulajdonság nem sztring.

Szintaxis

IS_STRING(<expression>)

Argumentumok

<expression>, egy kifejezés, amely ellenőrzi, hogy sztring-e.

Válaszok

Logikai érték, amely azt jelzi, hogy a megadott kifejezés típusa sztring-e.

Példa

A következő lekérdezés kiválasztja azokat a digitális ikereket, amelyek sztringtulajdonság-tulajdonságokkal bírnak, és az értéke Status nem egyenlő a Completed értékkel.

SELECT * 
FROM DIGITIALTWINS 
WHERE IS_STRING( Status ) AND Status != 'Completed'

IS_NULL

Típusellenőrzési és -típusválogatási függvény annak meghatározásához, hogy egy kifejezés értéke null .

Szintaxis

IS_NULL(<expression>)

Argumentumok

<expression>, egy kifejezés, amely ellenőrzi, hogy null értékű-e.

Válaszok

Logikai érték, amely azt jelzi, hogy a megadott kifejezés típusa null .

Példa

A következő lekérdezés olyan ikereket ad vissza, amelyek nem null értékkel bírnak a Hőmérséklet mezőben. A lekérdezésben használt operátorral kapcsolatos további információkért lásd a Azure Digital Twins nyelvi NOT referencia: Operátorok.

SELECT *
FROM DIGITALTWINS T
WHERE NOT IS_NULL(T.Temperature)

IS_PRIMITIVE

Típusellenőrzési és -típusválogatási függvény annak meghatározásához, hogy egy kifejezés értéke primitív típusú-e (sztring, logikai, numerikus vagy null ).

Ezt a függvényt gyakran kombinálják más predikátumokkal, ha a lekérdezési eredményeket feldolgozó program primitív típusú értéket igényel, és olyan eseteket szeretne kiszűrni, ahol a tulajdonság nem primitív.

Szintaxis

IS_PRIMITIVE(<expression>)

Argumentumok

<expression>, egy kifejezés, amely ellenőrzi, hogy primitív típusról van-e szó.

Válaszok

Logikai érték, amely azt jelzi, hogy a megadott kifejezés típusa a primitív típusok egyike-e (sztring, logikai, numerikus vagy null ).

Példa

A következő lekérdezés a Factory tulajdonságát adja vissza az "ABC" azonosítóval, csak akkor, ha a tulajdonság area area primitív típus. A lekérdezési eredmény bizonyos oszlopainak kivetítésével kapcsolatos további információkért (ahogy ez a lekérdezés a esetében is), tekintse meg a Azure Digital Twins nyelvi area referencia: SELECT záradékot.

SELECT Factory.area
FROM DIGITALTWINS Factory
WHERE Factory.$dtId = 'ABC'
AND IS_PRIMITIVE(Factory.area)

IS_OBJECT

Típusellenőrzési és -típusválogatási függvény annak meghatározásához, hogy egy kifejezés értéke JSON-objektumtípus-e.

Ezt a függvényt gyakran kombinálják más predikátumokkal, ha a lekérdezési eredményeket feldolgozó program JSON-objektumot igényel, és olyan eseteket szeretne kiszűrni, ahol az érték nem JSON-objektum.

Szintaxis

IS_OBJECT<expression>)

Argumentumok

<expression>, egy kifejezés, amely ellenőrzi, hogy objektumtípusról van-e szó.

Válaszok

Logikai érték, amely azt jelzi, hogy a megadott kifejezés típusa JSON-objektum-e.

Példa

A következő lekérdezés kiválasztja az összes olyan digitális ikereszközt, ahol ez egy nevű objektum, és nem MapObject rendelkezik gyermektulajdonságokkal. TemperatureReading

SELECT * 
FROM DIGITALTWINS 
WHERE IS_OBJECT( MapObject ) AND NOT IS_DEFINED ( MapObject.TemperatureReading )

STARTSWITH

Egy sztring típusú függvény, amely meghatározza, hogy egy adott sztring egy másik sztringből kezdődik-e.

Szintaxis

STARTSWITH(<string-to-check>,<beginning-string>)

Argumentumok

  • <string-to-check>: A elejét ellenőrző sztring
  • <beginning-string>: Egy sztring, amely az ellenőrzés kezdetét jelképez

Válaszok

Logikai érték, amely azt jelzi, hogy az első sztringkifejezés a másodikkal kezdődik-e.

Példa

A következő lekérdezés visszaadja az összes olyan digitális ikereszközt, amelynek azonosítói a következővel area1- kezdődnek: .

SELECT *
FROM DIGITALTWINS T
WHERE STARTSWITH(T.$dtId, 'area1-')