É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
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.