Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

between i apostrofi

[es] :: Baze podataka :: between i apostrofi

[ Pregleda: 2334 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

kosmopolita
Balkan

Član broj: 257864
Poruke: 123



+21 Profil

icon between i apostrofi18.08.2010. u 10:58 - pre 166 meseci
Code:
select * from tabla
where id between '1' and '9'

select * from tabla
where id between '''1''' and '''9'''

Ne radi ni jedno ni drugo ako su apostrofi na početku i kraju?
 
Odgovor na temu

igor.vitorac

Član broj: 144858
Poruke: 483



+13 Profil

icon Re: between i apostrofi18.08.2010. u 11:06 - pre 166 meseci
Ako je id numeric, onda bi sledece moralo da radi:

select * from tabla
where id between 1 and 9
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3453

Jabber: djoka_l


+1462 Profil

icon Re: between i apostrofi18.08.2010. u 11:14 - pre 166 meseci
Radi tačno ono što treba da radi:

za ID koji je char, daje sve redove gde ID počinje cifrom 1-9
za ID koji je number, daje sve redove čiji je ID 1-9

Znači, za ID koji je number '1' i '9' se konvertuju u number i izvršava se upit:

select * from nekatabela
where id between to_number('1') and to_number('9')

[Ovu poruku je menjao djoka_l dana 18.08.2010. u 12:35 GMT+1]
 
Odgovor na temu

kosmopolita
Balkan

Član broj: 257864
Poruke: 123



+21 Profil

icon Re: between i apostrofi18.08.2010. u 16:06 - pre 166 meseci
U naslovu piše apostrofi a i u poruci.

Greškom sam dao pogrešan primer. Nije broj.

Recimo:

Kolona_sa_tekstom

...
'neki tekst pocetak'
bez apostrofa
'opet apostrofi'
bez apostrofa
'opet apostrofi'
'neki tekst kraj'
...


Znači da bi ovo trebalo da radi:
Code (sql):

SELECT * FROM tabla
WHERE Kolona_sa_tekstom BETWEEN '''neki tekst pocetak''' AND '''neki tekst kraj'''
 

ili ne?
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3453

Jabber: djoka_l


+1462 Profil

icon Re: between i apostrofi18.08.2010. u 23:55 - pre 166 meseci
Dvostruki apostrofi unutar apostrofa u SQL-u predstavljaju apostrof.

Dakle

Code (sql):

SELECT '''neki tekst''' FROM dual;
 


daje kao rezultat string: 'neki tekst' (Oracle baza, ako se pitaš koja je to tabela dual...)

Iz tvog primera nije jasno šta hoćeš.

'neki tekst početak' > 'neki tekst kraj'

pa tvoj upit ne vraća ništa.
To je kao da napišeš:

Code (sql):

SELECT * FROM tabela
WHERE id BETWEEN 100 AND 1
 


Kod between klauzule PRVO se stavlja DONJA granica, pa GORNJA granica. U slučaju tekst polja, polja se porede leksikografski, a pošto je 'p' u reči početak veće od slova 'k' u reči kraj to je i 'neki tekst početak' > 'neki tekst kraj'

Ako si mislio da je bitan redosled kojim si uneo redove teksta u bazu bitan, pa sa between želiš da dobiješ linije koje su unete između ta dva markera, onda opet grešiš.

 
Odgovor na temu

kosmopolita
Balkan

Član broj: 257864
Poruke: 123



+21 Profil

icon Re: between i apostrofi19.08.2010. u 08:45 - pre 166 meseci
Hvala.

Grešim tako što sam mislio da je tekst sortiran, pošto nije bio davao je 'čudne' rezultate pa sam mislio da nešto nedostaje toj sintaksi apostrofa. Kada sam sortirao, naravno, radi.

Inače mi je trebao deo po deo tabele... da snimim kao tekst fajl...
 
Odgovor na temu

[es] :: Baze podataka :: between i apostrofi

[ Pregleda: 2334 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.