![]() |
MySQL upit (LIKE)
Imam string koji izgleda npr. ovako
Citiraj:
Citiraj:
Citiraj:
Citiraj:
|
U ovome stringu i zarez je samo jedan znak u stringu poput jedinice pa ne vidim razloga zašto ne bi stavio %,11,%.
Tko ćeš naći sve retke gdje se pojavljuje "11". Ako te stringove vadiš van i zarezi ti smetaju jednostavno ih trimaj. Ne vidim zašto ti to ne odgovara. |
Problem je ako se zadesi neka necjelobrojna vrijednost tipa 24,11 ili 11,99.
Ne mogu se sada sjetiti da me ubiješ, ali de probaj ovo Code:
SELECT * |
Citiraj:
nešto drugo? Citiraj:
|
Tek sad vidjeh da sam pogresno razumio "zadatak" prvi put kad sam ga pogledao.
Nekako nisam baš siguran da je ovo izvodivo na neki dugi način osim onog koji si već naveo. On unos u tom polju gledao kao jednu vrijednost (string) i kada mu zadaš da traži *11* on tu ima više "poklapanja" (11, 111, 111). Na šta se odnose vrijednosti tog polja? Možeš li uraditi normalizaciju pa da toj još malo raščlaniš tako da ti svaka vrijednost između zareza ima svoje polje? |
Citiraj:
iako mi se to čini puno previše nepotrebnih informacija, moram si dati još malo više truda pa postaviti zarez na početak i kraj, mislio sam to izbjeći ali ako nejde, nejde... :stoopid: hvala svejedno :beer: |
Kako se konkatenira na MySqlu? Sa + (Sql Server) ili sa || (Oracle)?
Ajde recimo da je +. Ionako moraš raditi full table scan jer je like napisan sa početnim postotkom. Zašto onda ne napraviš nešto poput ovoga: SELECT * FROM XX WHERE ','+string+',' LIKE '%,11,%' Upravo sam to probao na Oracleu i stvar radi... |
MySQL ima i "Regular Expressions" pa probaj s time.
http://dev.mysql.com/doc/refman/5.1/en/regexp.html |
Sva vremena su GMT +2. Sada je 08:33. |
Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 1999-2024 PC Ekspert - Sva prava pridržana ISSN 1334-2940
Ad Management by RedTyger