[ Marko Medojević @ 22.04.2009. 14:55 ] @
Ćao!

Na primer, imam u tabeli sledeće slogove:

id ime
1 marko*
2 *ivan*
3 pera*
...

Da li postoji mogućnost da ja upitom tipa:
Code:

SELECT * FROM tabela WHERE ime = "marko_cxdsadas";
ili
SELECT * FROM tabela WHERE ime = "aaa_ivan1234";


kao rezultat dobijem marko* ili *ivan*, tj. da mi zvezdica(*) nekako bude džoker? Naravno gornji upiti za sada vraćaju 0 slogova!

Ovo mi treba da ne bi izvlačio celu tabelu iz baze pa posle upoređivao sa preg_match, već da izvučem samo slog koji mi je potreban.

Unapred hvala!
[ Igor Gajic @ 22.04.2009. 15:01 ] @
U MySQL-u znak % ti je dzoker.
Code:

SELECT * FROM tabela WHERE ime = 'marko%';
[ bogdan.kecman @ 22.04.2009. 15:33 ] @
Igore, molim te da proveris sta pises pre nego sledeci put pogresno savetujes kolegu :)

za koriscenje "jockera" moras da koristis LIKE a ne =
takodje ako je u pitanju MyISAM tabela mozes da koristis MATCH ako je polje indexirano sa full text indexom

Code:

mysql> create table t1 (x int, a char(20));
Query OK, 0 rows affected, 2 warnings (0.04 sec)

mysql> insert into t1 values (1, 'aabbbbbbbbb'), (2, 'aaccccccccccc'), (3, 'aacqqqqq');
Query OK, 3 rows affected (0.00 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql> select * from t1 where a='aa%';
Empty set (0.00 sec)

mysql> select * from t1 where a like 'aa%';
+------+---------------+
| x    | a             |
+------+---------------+
|    1 | aabbbbbbbbb   | 
|    2 | aaccccccccccc | 
|    3 | aacqqqqq      | 
+------+---------------+
3 rows in set (0.00 sec)

mysql> select * from t1 where a like 'aac%';
+------+---------------+
| x    | a             |
+------+---------------+
|    2 | aaccccccccccc | 
|    3 | aacqqqqq      | 
+------+---------------+
2 rows in set (0.00 sec)


[ Igor Gajic @ 22.04.2009. 16:47 ] @
Ok, necu vise da ti se mesam u teritoriju
[ bogdan.kecman @ 22.04.2009. 17:00 ] @
mesaj se, mesaj se.... i ja pravim greske, zato i ja proverim to sto cukam pre nego postujem
[ Shinhan @ 23.04.2009. 07:32 ] @
Mislim da mare hoće obrnuto. To jest da džokerovani stringovi se nalaze u bazi. Što je moguće, sad sam testirao.

Jedino što treba drugačije da uradiš mare je da koristiš % kao džoker, i da pri pretraživanju radiš sledeće:

SELECT * FROM tabela WHERE "aaa_ivan1234" LIKE ime;

Samo pojma nemam kakvu poentu može imati ovakvo obrtanje.
[ Marko Medojević @ 23.04.2009. 14:49 ] @
@Shinhan

Hvala puno! A i ostalima takođe!