Novo

Forum kao aplikacija na telefonu

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

  • 9 odgovora
  • 3.355 pregleda

Najnovija ↓

Problem sa Datediff 12.04.2007. u 16:49 · pre 238 meseci #1
Ovako:
U jednoj tabeli imam dvije kolone koje su pocetni datum i krajni datum.Obje su DateTime tipa. Sada sam dobio da napravim novi datum koji je Datum iz prve kolone i vrijem druge kolone. Do sada sve normalno. Onda drebam da od tog datuma nadjem DATEDIFF u odnosu na danasnji datum(getDate().PS:Nije bitan redoslijed oduzimanja datuma da vas to ne buni ako ce biti negativan broj). Npisao sam sledece:

Code:
Select Datediff(hour,(convert(varchar,DATUM.START,103)+ ' ' + convert(varchar,DATUM.END,108)),getDate()) FROM DATUM WHERE ID=42

Sad imam problem jer imam novi datum tipa varchar a getDate kao i DATEDIFF koji rade sa DateTime tipom. I naravno dobijem gresku.Shvatam i zbog cega i sve to, ali postoji li neki nacin da se ipak ovo odradi.

Error

Msg 242, Level 16, State 3, Line 2
The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.


Ne pitajte me zasto mi treba novi datum koji se generise iz dvije kolone.Tako su mi rekli, iako ja licno smtram da je to najveca glupost koju sam ikada cuo, ali eto...

Mozda ima neko ko moze pomoci

Re: Problem sa Datediff 12.04.2007. u 17:16 · pre 238 meseci #2
ako se nevaram, trebao bih samo dodati jos jedan convert :

Code:

Select Datediff(hour, convert(datetime, convert(varchar(10),DATUM.START,103)+ ' ' + convert(varchar(8),DATUM.END,108)), getDate()) FROM DATUM WHERE ID=42
Re: Problem sa Datediff 12.04.2007. u 21:32 · pre 238 meseci #3
Izvini,ali nikad:-) Mora biti nesto drugo jer sam sve convert kombinacije pokusavo... Ne znam sta da radim
Re: Problem sa Datediff 12.04.2007. u 21:42 · pre 238 meseci #4
Jedno mozda banalno pitanje: Posto ti je to novo polje dan iz prve kolone i vreme iz druge kolone, zasto onda za razliku datuma ne koristis samu prvu kolonu umesto sto se mucis sa varchar izvedenom?
Re: Problem sa Datediff 12.04.2007. u 21:53 · pre 238 meseci #5
Pa i po meni je to logicno.Ali ovi neki debili za koje radim hoce da to tako radim.Ali jednostavno ne funkcionise.A kad ih pitas zasto to tako hocete, kaze lik ne znam ali mora tako. To je nesto najgluplje sto samcuo da se radi, prije svega jer ne vidim smisao toga. Ali ipak me zanima dali i kako se ipak moze odraditi?
Re: Problem sa Datediff 12.04.2007. u 22:38 · pre 238 meseci #6
Citat:
CallMeSaMaster:

Msg 242, Level 16, State 3, Line 2
The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.

Ova ti greska pokazuje da pokusavas da konvertujes string u datum koji nije moguc (npr: 31 februar)
Re: Problem sa Datediff 12.04.2007. u 23:38 · pre 238 meseci #7
A evo ti i ono sto ti treba (problem je u CONVERT, tj. u ovakvim primerima koristi CAST):
Code:

SELECT DATEDIFF(dd, CAST(CAST(YEAR(DATUM.START) AS varchar(4)) + '-' + CAST(MONTH(DATUM.START) AS varchar(2)) + '-' + CAST(DAY(DATUM.START) AS varchar(2)) + ' ' + CAST(DATEPART(hh, DATUM.END) AS varchar(2)) + ':' + CAST(DATEPART(mi, DATUM.END) AS varchar(2)) + ':' + CAST(DATEPART(ss, DATUM.END) AS varchar(2)) AS datetime), GETDATE()) AS RazlikaUDanima 
FROM DATUM 
WHERE ID = 42
Re: Problem sa Datediff 13.04.2007. u 10:08 · pre 238 meseci #8
Gorane hvala, na odgovoru.Uspio sam bez casta rijesiti samo sto nisam stigo postovat sinoc.Evo kako sam uradio i sad je ok

Code:

Select DateDiff(hour,(convert(datetime,(convert(varchar,DATUM.START,105)+ ' ' + convert(varchar,DATUM.ENDE,108)),105)),getDate()) FROM DATUM WHERE ID=42

Re: Problem sa Datediff 13.04.2007. u 10:14 · pre 238 meseci #9
eh da, falio je jos samo dobar format datuma :

convert(datetime, [varchar], 105)

Re: Problem sa Datediff 13.04.2007. u 14:29 · pre 238 meseci #10
Citat:
zelbi: eh da, falio je jos samo dobar format datuma :

convert(datetime, [varchar], 105)

ja i jos malo koda i gotovo.pa mogo sam i ja to reci.hehehe
Potpis
Fujitsu Nocria 14 prizemlje, 3X 09LLC sprat. Porodicna kuca
135 kv na dva sprata. Izolacija: pod 5cm, zid 16cm, tavan
40cm. Stakla troslojna low-e. Rekuperacija zraka u planu.
Lokacija: Sarajevo
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme