Értékek összehasonlítása

Milyen módon lehet az egyes értékeket összehasonlítani.

2022.09.16 — Posted by Webb & Flow


Az AtomDMP-ben több különböző esetben kell tudnunk értékeket összehasonlítani.

Ilyenek lehetnek:

  • profilok keresése (search)
  • profilok szegmentálása (segment)
  • profilok összefűzése (matching)
  • események feldolgozása (event script)

A különböző típusú értékeken különböző összehasonlításokat tudunk végezni.

String

String értékeken a következő összehasonlításokat végezhetjük:

  • egyenlőség (==)
    • a két érték egyenlő
  • különbség (!=)
    • a két érték különbözik
  • kisebb (<)
    • a bal oldal kisebb, mint a jobb
  • nagyobb (>)
    • a bal oldal nagyobb, mint a jobb
  • kisebb vagy egyenlő (<=)
    • a bal oldal kisebb vagy egyenlő, mint a jobb
  • nagyobb vagy egyenlő (>=)
    • a bal oldal nagyobb vagy egyenlő, mint a jobb
  • MATCHES
    • a bal oldal illeszkedik a jobb oldalon megadott pattern-re
    • a pattern-ben a következő speciális karakterek lehetnek:
      • ?: egy darab, bármilyen karakterre illeszkedik
      • *: 0, 1, vagy több, bármilyen karakterre illeszkedik
  • NOT MATCHES
    • a bal oldal nem illeszkedik a jobb oldalon megadott pattern-re
  • IN
    • a bal oldal benne van a jobb oldalon megadott listában
  • NOT IN
    • a bal oldal nincs benne a jobb oldalon megadott listában
  • IS NULL
    • az adott érték NULL
  • IS NOT NULL
    • az adott érték nem NULL

Integer

Integer értékeken a következő összehasonlításokat végezhetjük:

  • egyenlőség (==)
    • a két érték egyenlő
  • különbség (!=)
    • a két érték különbözik
  • kisebb (<)
    • a bal oldal kisebb, mint a jobb
  • nagyobb (>)
    • a bal oldal nagyobb, mint a jobb
  • kisebb vagy egyenlő (<=)
    • a bal oldal kisebb vagy egyenlő, mint a jobb
  • nagyobb vagy egyenlő (>=)
    • a bal oldal nagyobb vagy egyenlő, mint a jobb
  • IN
    • a bal oldal benne van a jobb oldalon megadott listában
  • NOT IN
    • a bal oldal nincs benne a jobb oldalon megadott listában
  • IS NULL
    • az adott érték NULL
  • IS NOT NULL
    • az adott érték nem NULL

Real

Real értékeken az integer értékekkel azonos összehasonlításokat végezhetjük.

Mivel a tizedes számok digitális tárolásának módszerei miatt előfordulhat, hogy nem pontosan az az érték lesz tárolva, ami meg lett adva, hanem egy ahhoz nagyon közeli (például 0.333333333 helyett 0.333333334), így az egyenlőség ellenőrzés (==) helyett azt érdemes ellenőrizni, hogy az érték benne van-e egy nagyon szűk tartományban, amit két feltétel összefűzésével adhatunk meg.

Például:

ertek == 0.333333333

helyett

ertek >= 0.333333332 AND ertek <= 0.333333334

Email

Azonos a string értékeken végezhető összehasonlításokkal.

Domain

Azonos a string értékeken végezhető összehasonlításokkal.

Date

Azonos a string értékeken végezhető összehasonlításokkal.

Time

Azonos a string értékeken végezhető összehasonlításokkal.

DateTime (timestamp)

DateTime értékeken a következő összehasonlításokat végezhetjük:

  • egyenlőség (==)
    • a két érték egyenlő
  • különbség (!=)
    • a két érték különbözik
  • kisebb (<)
    • a bal oldal kisebb, mint a jobb
  • nagyobb (>)
    • a bal oldal nagyobb, mint a jobb
  • kisebb vagy egyenlő (<=)
    • a bal oldal kisebb vagy egyenlő, mint a jobb
  • nagyobb vagy egyenlő (>=)
    • a bal oldal nagyobb vagy egyenlő, mint a jobb
  • IS NULL
    • az adott érték NULL
  • IS NOT NULL
    • az adott érték nem NULL

Flag

A Flag profil mezőkön a következő ellenőrzéseket végezhetjük:

  • IS ADDED
    • most épp be van-e kapcsolva
  • IS NOT ADDED
    • most épp ki van-e kapcsolva
  • WAS ADDED
    • valaha be volt-e már kapcsolva
    • független attól, hogy most épp be van -e kapcsolva
  • WAS NOT ADDED
    • még soha nem volt bekapcsolva

Különböző típusú értékek összehasonlítása

Különböző típusú értékeket csak akkor lehet összehasonlítani, ha az egyik típus átalakítható a másikká.

A következő típus párok között lehet összehasonlítást végezni:

String és Integer

Az integer értéke át lesz alakítva string-é, és azt, mint karakter sorozatot hasonlítja össze a string értékkel.

String és Real

Az integer értéke át lesz alakítva string-é, és azt, mint karakter sorozatot hasonlítja össze a string értékkel.

String és Email

Mivel az email típus egy speciális formátumú string, így a két érték közvetlenül összehasonlítható.

String és Domain

Mivel a domain típus egy speciális formátumú string, így a két érték közvetlenül összehasonlítható.

String és Date

Mivel a date típus egy speciális formátumú string, így a két érték közvetlenül összehasonlítható.

A date érték jöhet egy átalakított datetime értékből (lásd String és DateTime).

String és Time

Mivel a time típus egy speciális formátumú string, így a két érték közvetlenül összehasonlítható.

A time érték jöhet egy átalakított datetime értékből (lásd String és DateTime).

String és DateTime

A datetime értéke W3C formátumú dátum string-é lesz konvertálva (lásd Adat típusok), és ezt az értéket lehet a string értékkel összehasonlítani.

Ez alól kivétel, ha a datetime értéket átalakítjuk egy másik típussá (lásd DateTime értékek átalakítása más típussá ), mert akkor az átalakításhoz megadott formátumú string-é lesz a datetime érték alakítva, és ez lesz összehasonlítva a string értékkel.