DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   SQL baze podataka - Sponzor: Baze-Podataka.net (http://www.devprotalk.com/forumdisplay.php?f=10)
-   -   BETWEEN to DATEs klauzula (http://www.devprotalk.com/showthread.php?t=11366)

Darkonyks 07. 01. 2013. 03:42

BETWEEN to DATEs klauzula
 
Postovane kolege,

treba mi mala pomoc, pokusavam da napravim upit kojim bih prikazao odredjene podatke iz baze u odredjenom vremenskom intervalu koji nije definisan u samom upitu vec se trazi od korisnika da odabere dva datuma.

E sad, to je vrlo jednostavno kada ja u upitu odredim datume npr.:

SELECT *
FROM Tabela1
WHERE (ID = @ID) AND (Datum between ('01.01.2013') and ('07.01.2013')

... ali problem mi se javlja kada ne zelim da odredim tacan datum u upitu vec kao sto sam rekao, ostavljam to da odredi korisnik preko aplikacije.

Moze li mala pomoc?

webarto 07. 01. 2013. 07:48

Šta je problem? Kakva aplikacija?

Darkonyks 07. 01. 2013. 17:15

Pravim neki program u C# -u za jednu firmu. Da li mozda imate neku ideju kako da premostim problem?

misk0 07. 01. 2013. 22:16

Pa problem je input korisnika prebaciti u upit ili sta?

Ako tu varijablu koju korisnik popunjava imas tipa 'date' lagano je mozes proslijediti SQLu ili je konvertujes u string ili sta ti je vec potrebno..

jablan 07. 01. 2013. 22:30

Pa već ti je parametrizovan upit (imaš @ID), isto to uradiš i za ta dva datuma i proslediš ih iz korisničkog unosa.

Darkonyks 08. 01. 2013. 00:43

Ne moze, pokusao sam na nesto slicne nacine kao sto sam naveo, ali izlaze mi neke bezvezne poruke.

SELECT *
FROM Tabela1
WHERE (ID = @ID) AND (Datum between (@Datum) and (@Datum)

Da li mozete da mi napisete nesto koda kako bih imao naznaku sta da radim?

jablan 08. 01. 2013. 11:44

Sorry, ne mogu da ti napišem kod pošto već godinama ne gajim windows (a ni .NET) na mašinama. U svakom slučaju, ne trebaju ti zagrade oko @Datum, a i treba da imaš dva datuma a ne jedan (npr. @DatumOd i @DatumDo). Takođe, pazi na izbalansiranost zagrada, već dvaput si pejstovao upit sa neparnim brojem zagrada.

Kakve bezvezne poruke ti izlaze? Obično su bezvezne poruke tu da bi ti ukazale na grešku.

Darkonyks 08. 01. 2013. 20:44

1 Prilog(a)
Nisam pejstovao, kucao sam direktno na forumu jer nisam hteo da smaram ljude sa citavim upitom, vec sam samo hteo da pokazem na koji nacin sam ja pokusavao da dodjem do resenja. Inace, sto se tice datuma,imam samo jedan datum Zavrsetak (nekog task-a) i potrebno mi je da prikazem sve task-ove koji su Zavrseni u odredjenom intervalu.

Sve je u redu kad napisem:

SELECT C_Linija, Zavrsetak, OperaterID, vrpID, StatusId, DigitalizacijaID
FROM Digitalizacija
WHERE (Zavrsetak BETWEEN '2012-01-01' AND '2012-01-31') AND (OperaterID = @OperaterID) and StatusID='LIVE'

ali kada necu da odredim tacan datum u upitu:

SELECT C_Linija, Zavrsetak, OperaterID, vrpID, StatusId, DigitalizacijaID
FROM Digitalizacija
WHERE (Zavrsetak BETWEEN @Zavrsetak AND @Zavrsetak) AND (OperaterID = @OperaterID) AND (StatusId = 'LIVE')

tada mi izlazi prozor za unos parametra koji mi dozvoljava unos samo jednog datuma ali ne i drugog, i OperaterID-a! Nadam se da sam bio dovoljno jasan.Prilog 903

(Upit pisem u DataSet-u C# aplikacije)

yrch 08. 01. 2013. 23:11

U drugom upitu imas @Zavrsetak na oba mesta gde idu datumi, umesto toga treba
...
WHERE (Zavrsetak BETWEEN @Pocetak AND @Zavrsetak)
..
ako želiš posebne parametre za početni i krajnji datum.

Darkonyks 09. 01. 2013. 22:54

...Ali ne treba da napravim upit sa dva datuma vec sa jednim (Zavrsetak), stvar je u tome da je potrebno da se rade izvestaji za mesec za sve taskove koji su zavseni u tom mesecu. Nije nuzno da task koji je zapocet u jednom mesecu bude zavrsen u istom, i zbog toga mi je potreban upit koji za parametre ima jedan datum u odredjenom rasponu (''selektuj mi sve taskove koji su "Zavrseni" u periodu "tom" i "tom"'')!


Vreme je GMT +2. Trenutno vreme je 10:27.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.