Sziasztok!
A PostgreSQL 8.4.1 dokumentacioban az all,h amennyiben a minta nem tartalmaz _ vagy % jeleket, akkor a LIKE ugyan ugy mukodik, mint a '='.
www.postgresql.org/docs/8.4/interactive/functions-matching.html#FUNCTIO…
If pattern does not contain percent signs or underscores, then the pattern only represents the string itself; in that case LIKE acts like the equals operator.
Nalam valahogy megse mukodik:
SELECT name FROM noaa WHERE name = 'PECS'; -> 1 talalat
SELECT name FROM noaa WHERE name LIKE 'PECS' -> 0 talalat
SELECT name FROM noaa WHERE name LIKE 'PECS%' -> 1 talalat
SELECT name FROM noaa WHERE name ~ '[[:space:]]$'; -> osszes sor
A fajl egy sora amibol az adatokat importaltam igy nez ki:
82,PECS,HU,PEC,18.22,46.06,150
Nincsen space sehol.
Hogy kerul az adatbazisba a nevek (pl. pecs) utan sorkoz(ok)? Hogy tudom kitorolni?
Miert van kulonbseg LIKE es '=' kozott abban az esetben, ha nem hasznalom a _% karaktereket?
A segitseget elore is koszonom!
- 1016 megtekintés
Hozzászólások
Szeretnem felmelegiteni a topicot:)
Valaki??
- A hozzászóláshoz be kell jelentkezni
Első ránézésre azért kerül üres karakter (space) a nevek után mert fix méretű a változód (char(x)), pl.: char(10) a típus és beírod, hogy PÉCS, akkor az az adatbázisban így lesz eltárolva "PÉCS ". Ha átírod varchar(x)re akkor nem lesz gond, mert csak annyi karaktert használ fel, amennyi a beírt szöveg.
A LIKE-ot általában szöveg (string) összehasonlítására használjuk, az =-t pedig számokhoz.
127.0.0.1 SWEET 127.0.0.1
- A hozzászóláshoz be kell jelentkezni
+1. Alapvető, hogy változó hosszúságú stringhez varchar(), stringek összehasonlításhoz meg like.
- A hozzászóláshoz be kell jelentkezni
koszi a valaszokat!
hat megint tanultam valami ujat :)
- A hozzászóláshoz be kell jelentkezni