HTML

alitak fejlesztői blogja

Egyre többet fejlesztek, főleg PHP. Ezen fejlesztésekkel kapcsolatos bejegyzések.

MySQL find_is_set

2011.07.13. 12:46 alitak

Nem egyszer előfordult már velem, hogy egy olyan mezőben kellett keresni, ahol az id-k vesszővel voltak elválasztva. Körülményes lehet ilyen helyen adatot kinyerni, ugyanis nem lehet simán összehasonlítani. A like és társai szintúgy használhatatlanok, mivel pl. az egyjegyű számok keresése bonyolulttá teszi a kérést.

Az ilyen problémára nyújt megoldást a FIND_IN_SET() függvény. A működése a következő:

A függvény 1-től N-ig ad vissza egy számot, ahol N a string-ben található, vesszővel elválasztott substring-ek. Nyilván, ha nem találja, akkor nullát ad vissza. Ha a függvény második paraméterének SET típusú mező van megadva, akkor a függvény bitműveletek használva hasonlít össze.

Használata:

mysql> SELECT FIND_IN_SET('b', 'a,b,c,d')
-> 2

mysql> SELECT count(*) FROM table WHERE FIND_IN_SET(search, field)

Szólj hozzá!

Címkék: mysql bookbook

A bejegyzés trackback címe:

https://alitak.blog.hu/api/trackback/id/tr513063171

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása