Autor Zpráva
turtle
Profil *
Mám tabuľku s jediným riadkom, so sĺpcom skupina (varchar), jeho hodnota je '1|2'

ak urobím select:

SELECT * FROM tab WHERE 1 REGEXP `skupina`
vo výsledku je tento riadok

SELECT * FROM tab WHERE 2 REGEXP `skupina`
vo výsledku je tento riadok

SELECT * FROM tab WHERE 3 REGEXP `skupina`
výsledok je prázdny podľa očakávania

Ale:

SELECT * FROM tab WHERE 10 REGEXP `skupina`
opäť je vo výsledku tento riadok
rovnako funguje
SELECT * FROM tab WHERE 11 REGEXP `skupina`
SELECT * FROM tab WHERE 12 REGEXP `skupina`
...
Moja otázka: Ako napísať podmienku, alebo ako zmeniť reťazec v stĺpci skupina, aby v prípade 10, 11, 12... bol výsledok prázdny?
nightfish
Profil
SELECT * FROM tab WHERE skupina REGEXP '^1|' or skupina regexp '|1|' or skupina regexp '|1$' or skupina regexp '^1$'

snad jsem na žádnou z možností nezapomněl
turtle
Profil *
Vďaka za nakopnutie, tak som na to asi prišiel.
Ak by to niekoho zaujímalo, toto funguje:

SELECT * FROM tab WHERE 10 REGEXP CONCAT('^(', `skupina`, ')$')
Toto téma je uzamčeno. Odpověď nelze zaslat.

0