Autor | Zpráva | ||
---|---|---|---|
Ratisko Profil |
#1 · Zasláno: 29. 1. 2010, 23:12:20
Ahoj, nevím jestli mi to nedochází jen teď, ale asi to bude spíš tím že se v programovani moc nepohybuju. Potřeboval bych z Mysql DB vybrat pouze ty zaznamy, kde hodnota ve sloupci neni ciselna a zaroven se nerovna retezci "nezadáno". Je to asi hloupý dotaz, ale v SQl syntaxi jsem nikdy neviděl nic jako WHERE sloupec != "forbiden string" a dělat to přes nějaké uložení do pole mi přijde zbytečné, když si s tím SQL určitě umí poradit. Myslím že jen nevím jak, tak se prosím zkuste někdo vyjádřit :) Dík, Ondra
|
||
Taps Profil |
#2 · Zasláno: 29. 1. 2010, 23:45:55
Ratisko:
syntaxe typu WHERE sloupec != "forbiden string" se dá v mysql použít. Co se týče hodnoty ve sloupci tak na to bych použil regulární výraz |
||
Ratisko Profil |
#3 · Zasláno: 30. 1. 2010, 00:10:47
mm, a nemusí se u regulárních výrazů používat namísto = slovíčko LIKE? !LIKE by už asi byla uplná hloupost xD Jinak, děkuju, zítra to hned všechno ozkouším :)
|
||
TomášK Profil |
#4 · Zasláno: 30. 1. 2010, 00:36:35
LIKE RLIKE REGEXP NOT REGEXP |
||
Ratisko Profil |
#5 · Zasláno: 30. 1. 2010, 11:11:58
a lze použít třeba spíš !ISNUMERIC() ? :) kdybych tedy chtěl nečíselné výrazy
|
||
123456789 Profil * |
#6 · Zasláno: 30. 1. 2010, 11:35:44
Ona má MySQL nějakou fci IsNumeric()? To jsou mi novinky. Nějaké ekvivalenty k této fci můžete najít v této diskusi http://forums.mysql.com/read.php?60,1907,1907
Jinak to je skutečně takový problém to napsat pomocí REGEXP, http://www.regularnivyrazy.info/ ? Pokud bych chtěl vybrat jen malé nebo velké znaky, tak třeba takto: '^[a-z]*[A-Z]*$'. |
||
Ratisko Profil |
#7 · Zasláno: 30. 1. 2010, 11:39:29
jasny, mno ja myslim ze ve skole neco takovyho rikal ze existuje ISNUMERIC(), ale napsat to pres regularni vyrazy taky neni problem, a diky za priklad :)
|
||
123456789 Profil * |
#8 · Zasláno: 30. 1. 2010, 11:44:52
No podívej se do dokumentace MySQL, když tam do vyhledávání zadáš IsNumeric, tak to nic nenajde, proč asi... Funkci IsNumeric mají některé jiné databázové systémy, třeba MSSQL a možná ještě nějaké další, zas takový přehled nemám.
|
||
Ratisko Profil |
#9 · Zasláno: 30. 1. 2010, 11:46:12
jio ještě něco.. jak to pracuje s diakritikou? prostě dám [a-ž] nebo je v tom nějaký háček?
|
||
Ratisko Profil |
#10 · Zasláno: 30. 1. 2010, 11:47:15
a už vím s čím jsem si to spletl, s IS NULL ;)
|
||
Ratisko Profil |
#11 · Zasláno: 30. 1. 2010, 22:53:04
tak jen doplním kdyby z toho někdo čerpal, že znaky s diakritikou jsou zvlášť a zapisují se jako [á-ž] - pouze malá písmena s diakritikou
|
||
TomášK Profil |
#12 · Zasláno: 30. 1. 2010, 23:28:35
Máš někde zdroj, kde je dokumentované? Mám za to, že při zadání rozsahu se berou všechny znaky z rozsahu podle nějaké tabulky znaků (podle kódování?). Čekal bych, že v [á-ž] bude i nějaký plevel navíc. O něco nadějnější se mi zdá [[:alpha:]] a nastavení kódování, ale nemám to vyzkoušené.
|
||
Kajman_ Profil * |
#13 · Zasláno: 1. 2. 2010, 08:40:56
[á-ž] není moc rozumné pro vícebytové sady (utf8), tam by se to možná dalo zapsat jako (á|č|ď|é|ě|...|ž)
|
||
Časová prodleva: 14 let
|
0