IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Znaky ve stringu

Aktivity
Avatar
Vladimír M
Člen
Avatar
Vladimír M:28.4.2016 10:43

Zdravím,
u tabulky pro dodavatele (Vendor) mám i emailové adresy. Bohužel uživatelé za ty roky zadávali různé paskvily adres, proto bych rád zjistil, zda se v emailových adresách nevyskytují některé znaky...např. s diakritikou atd.

select No_,Name,[E-Mail]
from Vendor
where CHARINDEX ('@',[E-Mail],1)>0

Pomocí výše uvedeného jsem zjišťoval, zda se v řetězci nachází znak @. Nicméně bych tímto způsobem potřeboval zjistit zda se nevyskytují i nějaké jiné znaky (ě,š,č,...), nicméně ne jednotlivě, ale celkově, tzn. výčtem znaků, které bych měl předdefinovány.
Lze uskutečnit zápis vyhledávání výčtem znaků, ne jen pouze jedním znakem? Něco jako ve stylu 'where ... in (a,b,c)'?

 
Odpovědět
28.4.2016 10:43
Avatar
LacoS.
Člen
Avatar
LacoS.:28.4.2016 14:53
Select * from Vendor where [E-Mail] REGEXP '(á|ý|ž|ť)';
 
Nahoru Odpovědět
28.4.2016 14:53
Avatar
Vladimír M
Člen
Avatar
Odpovídá na LacoS.
Vladimír M:29.4.2016 11:20

díky za odpověď, bohužel v MS SQL 2008 nefunguje :(

 
Nahoru Odpovědět
29.4.2016 11:20
Avatar
LacoS.
Člen
Avatar
Odpovídá na Vladimír M
LacoS.:29.4.2016 12:52

skus:

Select * from Vendor where dbo.RegExMatch( [E-Mail], '(á|ý|ž|ť)' );
 
Nahoru Odpovědět
29.4.2016 12:52
Avatar
LacoS.
Člen
Avatar
LacoS.:29.4.2016 13:10
Select * from Vendor where [E-Mail] like '%[áýžť]%';
Editováno 29.4.2016 13:10
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
29.4.2016 13:10
Avatar
Vladimír M
Člen
Avatar
Vladimír M:29.4.2016 14:02

Ahoj, díky, poslední zafungovalo...a přitom je to tak jednoduché, hledal jsem v tom větší složitosti :) Ještě jednou díky moc :)

 
Nahoru Odpovědět
29.4.2016 14:02
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.