Autor Zpráva
Petr Svetr
Profil
Dobre odpoledne vsem,

mam podobne hodnoty v tabulce (MySQL):
8_%is%_6_%end%_7_%is%_12_%end%_6_%is%_200_%end%_

(jedna se tedy vlastne o pole kde [8] = 6 , [7] = 12 , [6] = 12)

Potrebuji nejak vyselektovat radky v tabulce, ktere by mely cast pred _%is%_ rovnou treba 7 . (ovsem nesmi to byt 77, takze pomoci like '%7_%is%' by to asi neslo...).

Poradite? Diky
ninja
Profil
SELECT * FROM tabulka WHERE sloupec REGEXP '[^0-9]7_%is%';


PS: ukladat takto data do SQL databaze je v 99% pripadu pekna prasarna.
petr_svetr
Profil *
1 SELECT * FROM tabulka WHERE sloupec REGEXP '[^0-9]7_%is%';
PS: ukladat takto data do SQL databaze je v 99% pripadu pekna prasarna.
nejsem zadny databazovy profesional... poradis jak by bylo vhodne ukladat takove data do jednoho pole? Prozrad mi v cem vezi ta 'prasarna'

A moc diky za radu.
petr_svetr
Profil *
a REGEXP '[^0-9]7_%is%' v poli s hodnotou 8_%is%_6_%end%_7_%is%_12_%end%_6_%is%_200_%end%_ mi nic nevraci (ale netvrdim ze je to spatne, obcas se mi stava, ze mam nejakeho trpaslika na serveru :)
Kajman_
Profil *
Taková data se ukládají do další tabulky

ciziklic klicpole hodnotapole
Kajman_
Profil *
Jinak je asi opravdu chyba na Vašem serveru, mně to funguje

select 1 from dual where '8_%is%_6_%end%_7_%is%_12_%end%_6_%is%_200_%end%_' REGEXP '(^|[^0-9])7_%is%'
petr_svetr
Profil *
aha... toto jiz jde i mne... S regularam jsem na stiru a '[^0-9]7_%is%' pro mne neni to same jako '(^|[^0-9])7_%is%' coz ovsem pro nekoho jineho muze byt samozrejmost. Jeste jednou diky
ninja
Profil
Me funguji oba regualrni vyrazy. Do tretice:
'[^0-9]*7_%is%'

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: