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

Kako napisati sledeci upit

[es] :: Baze podataka :: Kako napisati sledeci upit

[ Pregleda: 3923 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

toocold
Smed.Palanka

Član broj: 26373
Poruke: 25
213.244.200.*



Profil

icon Kako napisati sledeci upit07.07.2006. u 17:50 - pre 216 meseci
Imam sledeci problem.
Jedna tabela u bazi podataka ima datum kao posebnu kolonu i vreme kao posebnu kolonu.
Kako izgleda upit koji ce da vrati sve podatke npr:od 1.1.2006 od 06:00h do 20.1.2006 do 23:00.

Naravno ove vrednosti unosi korisnik, meni treba samo upit. Umori se lupajuci glavu.

Unapred hvala svima.
 
Odgovor na temu

NikolaVeber
NikolaVeber
neradnik na porodiljskom bolovanju
Karlsruhe

Član broj: 5115
Poruke: 1254
*.rz.uni-karlsruhe.de.

Jabber: nikolaveber@jabber.org
ICQ: 121532865


Profil

icon Re: Kako napisati sledeci upit07.07.2006. u 18:16 - pre 216 meseci
Promeni nacin cuvanja podataka, cuvaj timestamp. Osim ako nije neophodno ovako cuvati, mada je kolicina informacija ista, samo je baratanje istima teze, tako da ne vidim zasto bi bilo neophodno.
Pop Servis "Paradise Tours"
Java User Group Karlsruhe
IT Dan - Srbija

Officer, I saw the driver who hit me - his name was Johnny Walker.
 
Odgovor na temu

toocold
Smed.Palanka

Član broj: 26373
Poruke: 25
213.244.200.*



Profil

icon Re: Kako napisati sledeci upit07.07.2006. u 18:22 - pre 216 meseci
Ma nisam ja pravio bazu, a ako bi to promenio morao bi da menjam i pola apikacije, tako da je bolje resenje da nekako napisem upit.
 
Odgovor na temu

NikolaVeber
NikolaVeber
neradnik na porodiljskom bolovanju
Karlsruhe

Član broj: 5115
Poruke: 1254
*.rz.uni-karlsruhe.de.

Jabber: nikolaveber@jabber.org
ICQ: 121532865


Profil

icon Re: Kako napisati sledeci upit07.07.2006. u 18:47 - pre 216 meseci
300 je stepeni i ne radi mi mozak, ali ono sto bih ja uradio je sledece:

napravi novu tabelu sa poljima ID i Timestamp i u nju upisi izracunate vrednosti timestampa. To radi skripta od 4 reda i posle nema vise zezanja, radis join i gotovo.
Pop Servis "Paradise Tours"
Java User Group Karlsruhe
IT Dan - Srbija

Officer, I saw the driver who hit me - his name was Johnny Walker.
 
Odgovor na temu

jajo
Zagreb

Član broj: 18276
Poruke: 91
*.adsl.net.t-com.hr.



Profil

icon Re: Kako napisati sledeci upit07.07.2006. u 21:18 - pre 216 meseci
ovisi koja je baza i u koji tip polja su spremani podaci, ovak otprilike bi to izgledalo u oracle-u:

select to_char(prvidio, 'ddd.mm.yyyy')||' '||drugidio datum
from tablica

uglavnom u cem god radis pretvori i prvi i drugi u character to concateniraj i onda pretvori u datum
 
Odgovor na temu

NikolaVeber
NikolaVeber
neradnik na porodiljskom bolovanju
Karlsruhe

Član broj: 5115
Poruke: 1254
*.rz.uni-karlsruhe.de.

Jabber: nikolaveber@jabber.org
ICQ: 121532865


Profil

icon Re: Kako napisati sledeci upit07.07.2006. u 22:32 - pre 216 meseci
I to nije los predlog. Mada mislim da je dodatna tabela performantnije resenje.
Pop Servis "Paradise Tours"
Java User Group Karlsruhe
IT Dan - Srbija

Officer, I saw the driver who hit me - his name was Johnny Walker.
 
Odgovor na temu

broker

Član broj: 2415
Poruke: 8514
212.62.59.*



+11 Profil

icon Re: Kako napisati sledeci upit08.07.2006. u 12:39 - pre 216 meseci
Ako bas hoces dodatno, onda prosto u postojecu tabelu dodaj jos jedno polje u koje ces da upisujes datum i vreme u timestamp formatu.
 
Odgovor na temu

Dejan Topalovic
Dejan Topalović
Senior Oracle DBA & Senior PL/SQL
Developer, Erste Sparinvest (Erste
Bank), Vienna, Austria
Vienna

Član broj: 635
Poruke: 1374
*.it-austria.net.

Sajt: www.baze-podataka.net


+2 Profil

icon Re: Kako napisati sledeci upit10.07.2006. u 08:06 - pre 216 meseci
Vec su ti kolege rekli okvirno kako to da uradis, a ja cu ti samo jos potvrditi.
Imas dvije opcije:
1. da dodas novu kolonu tipa TIMESTAMP u postojecu tabelu i da preostale dvije kolone (datum i vreme) ignorises (barem u novijim aplikacijama, koje pises).
2. da pomocu funkcija TO_CHAR i TO_DATE izvuces potrebno vrijeme:
- pretpostavimo da ti je kolona datum tipa DATE u formatu dd.mm.yyyy., a vreme tipa VARCHAR (ili VARCHAR2) u formatu hh24:mi:ss, pa imamo slijedeci upit:
Code:
SELECT TO_DATE(TO_CHAR(t.datum,'dd.mm.yyyy.')||' '||t.vreme, 'dd.mm.yyyy. hh24:mi:ss') FROM tvoja_tabela t;

Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA
 
Odgovor na temu

dsmr
Desimir Ćirović
projektant IS,

Član broj: 102208
Poruke: 81
*.pat-pool.ca.sbb.co.yu.

ICQ: 412217225


+1 Profil

icon Re: Kako napisati sledeci upit21.07.2006. u 12:55 - pre 216 meseci
Koliko ja vidim tebi je problem dosta prost: u where klauzuli stavis uslov po datumu AND uslov po vremenu
select * from tvoja_tabela where (datum>datum_od and datum <datum_do) and (vreme>vreme_od and vreme<vreme_do)
Slabo koje drvo sam mogao videti, ali sam poznavao celu šumu koju. Moja lična
apstrakcija izmedju specifikacije i generalizacije.
 
Odgovor na temu

[es] :: Baze podataka :: Kako napisati sledeci upit

[ Pregleda: 3923 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

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