Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 5 odgovora
  • 3.724 pregleda

Najnovija ↓

between i apostrofi 18.08.2010. u 11:58 · pre 197 meseci #1
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?
Re: between i apostrofi 18.08.2010. u 12:06 · pre 197 meseci #2
Ako je id numeric, onda bi sledece moralo da radi:

select * from tabla
where id between 1 and 9
Re: between i apostrofi 18.08.2010. u 12:14 · pre 197 meseci
izmenjeno 1 put, poslednji put djoka_l 18.08.2010. u 12:35
  1. djoka_l18.08.2010. u 12:35zapis iz teksta poruke
#3
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')
Re: between i apostrofi 18.08.2010. u 17:06 · pre 197 meseci #4
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?
Re: between i apostrofi 19.08.2010. u 00:55 · pre 197 meseci #5
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š.

Re: between i apostrofi 19.08.2010. u 09:45 · pre 197 meseci #6
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...
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme