Azure dijital TWINS sorgu dili başvurusu: Işlevler

Bu belge, Azure Digital TWINS sorgu dilinin işlevleri hakkında başvuru bilgileri içerir.

ENDSWITH

Belirli bir dizenin başka bir dize ile bitip bitmediğini belirlemede kullanılan bir dize işlevi.

Söz dizimi

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

Bağımsız değişkenler

  • <string-to-check>: Bitiş listesini denetlemek için bir dize
  • <ending-string>: Denetlenecek bitişi temsil eden bir dize

Döndürülenler

İlk dize ifadesinin ikinciyle sonlanıp bitmediğini gösteren bir Boole değeri.

Örnek

Aşağıdaki sorgu, kimlikleri bitiş olan tüm dijital TWINS 'Leri döndürür -small .

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

IS_DEFINED

Bir özelliğin tanımlanıp tanımlanmadığını denetlemek için bir tür denetimi ve atama işlevi.

Bu yalnızca özellik değeri temel bir tür olduğunda desteklenir. İlkel türler String, Boolean, numeric veya içerir null . DateTime, nesne türleri ve diziler desteklenmez.

Söz dizimi

IS_DEFINED(<property>)

Bağımsız değişkenler

<property>, tanımlanıp tanımlanmadığını belirleyecek bir özellik. Özelliğin temel bir türde olması gerekir.

Döndürülenler

Özelliğin bir değer atanıp atanmadığını gösteren bir Boole değeri.

Örnek

Aşağıdaki sorgu, tanımlı bir konum özelliği olan tüm dijital TWINS ' i döndürür.

SELECT *
FROM DIGITALTWINS
WHERE IS_DEFINED(Location)

IS_OF_MODEL

Bir ikizi belirli bir model türünde olup olmadığını anlamak için bir tür denetimi ve atama işlevi. Belirtilen modelden devraldığı modelleri içerir.

Söz dizimi

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

Bağımsız değişkenler

Gerekli:

  • <model-ID>: Denetlenecek model KIMLIĞI.

İsteğe bağlı:

  • <twin-collection>: Birden fazla olduğunda (örneğin, kullanıldığında) aramak için bir ikizi koleksiyonu belirtin JOIN .
  • exact: Tam eşleşme gerektir. Bu parametre ayarlanmamışsa, sonuç kümesi belirtilen modelden devraldığı modellerle TWINS 'i içerir.

Döndürülenler

Belirtilen ikizi belirtilen model türüyle eşleşip eşleşmediğini gösteren bir Boole değeri.

Örnek

Aşağıdaki sorgu, tam olarak model türündeki DT koleksiyonundan TWINS döndürür dtmi:example:room;1 .

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

IS_BOOL

Bir ifadenin Boole değeri olup olmadığını belirlemek için bir tür denetimi ve atama işlevi.

Bu işlev genellikle, sorgu sonuçlarının işlendiği programın bir Boolean değer gerektirmesi ve özelliğin bir Boole olmadığı durumlarda filtrelemek istiyorsanız diğer yüklemler ile birleştirilir.

Söz dizimi

IS_BOOL(<expression>)

Bağımsız değişkenler

<expression>, Boolean olup olmadığını denetlemek için bir ifade.

Döndürülenler

Belirtilen ifadenin türünün Boole olup olmadığını gösteren bir Boole değeri.

Örnek

Aşağıdaki sorgu, Boolean özelliğine sahip dijital TWINS 'i seçer HasTemperature .

SELECT *
FROM DIGITALTWINS T
WHERE IS_BOOL( HasTemperature )

Aşağıdaki sorgu, Boolean özelliğine sahip dijital TWINS 'i seçmek için yukarıdaki örnekte oluşturulur HasTemperature ve bu özelliğin değeri değildir false .

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

IS_NUMBER

Bir ifadenin sayı değerine sahip olup olmadığını belirlemek için bir tür denetlemesi ve atama işlevi.

Bu işlev genellikle, sorgu sonuçlarını işleyen program sayı değeri gerektiriyorsa ve özelliğin bir sayı olmadığı durumlarda filtrelemek istiyorsanız diğer koşullara göre birleştirilir.

Söz dizimi

IS_NUMBER(<expression>)

Bağımsız değişkenler

<expression>, bir sayı olup olmadığını denetlemek için bir ifade.

Döndürülenler

Belirtilen ifadenin türünün bir sayı olup olmadığını gösteren bir Boole değeri.

Örnek

Aşağıdaki sorgu, sayısal bir özelliği olan dijital TWINS 'i seçer Capacity ve değeri 0 ' a eşit değildir.

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

IS_STRING

Bir ifadenin dize değerine sahip olup olmadığını belirlemek için bir tür denetlemesi ve atama işlevi.

Sorgu sonuçlarını işleyen program bir dize değeri gerektiriyorsa ve özelliğin bir dize olmadığı durumları filtrelemek istiyorsanız, bu işlev genellikle diğer koşullara göre birleştirilir.

Söz dizimi

IS_STRING(<expression>)

Bağımsız değişkenler

<expression>, bir dize olup olmadığını denetlemek için bir ifade.

Döndürülenler

Belirtilen ifadenin türünün bir dize olup olmadığını gösteren bir Boole değeri.

Örnek

Aşağıdaki sorgu, dize özelliği özelliğine sahip olan dijital TWINS 'i seçer Status ve değeri değerine eşit değildir Completed .

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

IS_NULL

Bir ifadenin değerinin olup olmadığını belirlemek için bir tür denetimi ve atama işlevi null .

Söz dizimi

IS_NULL(<expression>)

Bağımsız değişkenler

<expression>, null olup olmadığını denetlemek için bir ifade.

Döndürülenler

Belirtilen ifadenin türünün olup olmadığını gösteren bir Boole değeri null .

Örnek

Aşağıdaki sorgu, sıcaklık için null değere sahip olmayan TWINS 'i döndürür. Bu sorguda kullanılan operatör hakkında daha fazla bilgi için NOT bkz. Azure Digital TWINS sorgu dili başvurusu: işleçler.

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

IS_PRIMITIVE

Bir ifadenin değerinin ilkel bir tür (dize, Boole, sayısal veya) olup olmadığını belirlemek için bir tür denetimi ve atama işlevi null .

Bu işlev genellikle, sorgu sonuçlarını işleyen programın temel olarak belirlenmiş bir değer gerektirmesi durumunda ve özelliğin basit olmadığı durumlarda filtrelemek istiyorsanız diğer yüklemler ile birleştirilir.

Söz dizimi

IS_PRIMITIVE(<expression>)

Bağımsız değişkenler

<expression>, temel bir tür olup olmadığını denetlemek için bir ifade.

Döndürülenler

Belirtilen ifadenin türünün temel türlerden biri olup olmadığını gösteren bir Boole değeri (dize, Boolean, sayısal veya null ).

Örnek

Aşağıdaki sorgu, area ' abc, ' kimliğine sahip fabrika özelliğini, yalnızca area özellik bir temel tür ise döndürür. Sorgu sonucunda belirli sütunları yansıtma hakkında daha fazla bilgi için (Bu sorgunun ile olduğu gibi area ) bkz. Azure Digital TWINS sorgu dili başvurusu: select yan tümcesi.

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

IS_OBJECT

Bir ifadenin değerinin bir JSON nesne türünde olup olmadığını belirlemek için bir tür denetimi ve atama işlevi.

Sorgu sonuçlarını işleyen program bir JSON nesnesi gerektiriyorsa ve değerin JSON nesnesi olmadığı durumları filtrelemek istiyorsanız, bu işlev genellikle diğer koşullara göre birleştirilir.

Söz dizimi

IS_OBJECT<expression>)

Bağımsız değişkenler

<expression>, bir nesne türünde olup olmadığını denetlemek için bir ifade.

Döndürülenler

Belirtilen ifadenin türünün bir JSON nesnesi olup olmadığını gösteren bir Boole değeri.

Örnek

Aşağıdaki sorgu, bu nesnenin adı verilen MapObject ve bir alt özelliği olmayan tüm dijital TWINS seçimlerini seçer TemperatureReading .

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

STARTSWITH

Belirli bir dizenin başka bir dizeyle başlayıp başlamamadığını belirlemede kullanılan bir dize işlevi.

Söz dizimi

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

Bağımsız değişkenler

  • <string-to-check>: Başlangıcını denetlemek için bir dize
  • <beginning-string>: Denetlenecek başlangıcı temsil eden bir dize

Döndürülenler

İlk dize ifadesinin ikinciyle başlatılıp başlatılmayacağını gösteren bir Boole değeri.

Örnek

Aşağıdaki sorgu, kimlikleri ile başlayan tüm dijital TWINS 'Leri döndürür area1- .

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