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

Pitanje oko DateTIme formata

[es] :: MS SQL :: Pitanje oko DateTIme formata

[ Pregleda: 3031 | Odgovora: 18 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

anaxim
Srbija

Član broj: 204660
Poruke: 83
79.143.175.*



Profil

icon Pitanje oko DateTIme formata27.12.2008. u 18:38 - pre 127 meseci
Postoji li nacin da u MS SQL 2005 Express setujem da se u polje tipa DateTime upisuju vrednosti u evropskom formatu dd/MM/yyyy?

Pozz
 
Odgovor na temu

.:Marvin:.
Taurunum

Član broj: 36626
Poruke: 94
91.143.212.*



Profil

icon Re: Pitanje oko DateTIme formata29.12.2008. u 11:28 - pre 127 meseci
Ja ne znam bas za datetime tip. A da li si siguran/a da moras da koristis taj tip? Za datum je bolje koristiti varchar i nemas problema.

Ako ako ti je vec zapisan datetime, f-jama GetDate i Convert mozes da ga konvertujes u sta hoces.
 
Odgovor na temu

anaxim
Srbija

Član broj: 204660
Poruke: 83
79.143.174.*



Profil

icon Re: Pitanje oko DateTIme formata29.12.2008. u 16:05 - pre 127 meseci
Probacu da to odradim na taj nacin.

Pozzz
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4534



+705 Profil

icon Re: Pitanje oko DateTIme formata29.12.2008. u 16:19 - pre 127 meseci
Citat:
.:Marvin:.: Za datum je bolje koristiti varchar i nemas problema.

Ovo apsolutno ne.

Kao što si posle rekao, formatiranje datuma treba ostaviti za SQL ili, još bolje, aplikaciju.
 
Odgovor na temu

.:Marvin:.
Taurunum

Član broj: 36626
Poruke: 94
91.143.212.*



Profil

icon Re: Pitanje oko DateTIme formata30.12.2008. u 07:30 - pre 127 meseci
Hajde onda mi objasni zasto APSOLUTNO ne?
Ponudio sam coveku vise resenja, pa neka bira.
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4534



+705 Profil

icon Re: Pitanje oko DateTIme formata30.12.2008. u 09:10 - pre 127 meseci
Zato što postoje desetine razloga da se datum u bazi ne čuva kao string, a apsolutno nijedan da se čuva kao string.

Za tako elementarne stvari ne postoji više rešenja, nego samo jedno. Brojevi se čuvaju kao brojevi, datumi kao datumi a stringovi kao stringovi.
 
Odgovor na temu

chachka
Srđan Mijatov
Programer
BUS Computers
Kikinda

Moderator
Član broj: 53780
Poruke: 575
*.adsl.beotel.net.

Sajt: www.baze-podataka.net


+4 Profil

icon Re: Pitanje oko DateTIme formata30.12.2008. u 15:24 - pre 127 meseci
Citat:
.:Marvin:.: Hajde onda mi objasni zasto APSOLUTNO ne?

Morao bi da programiraš operacije sa datumima, poređenje datuma, sortiranje datuma, konverziju datuma iz jedne prezentacije u drugu, pa i samu proveru ispravnosti datuma. Ovo je bespotrebno izmišljanje tople vode.
"The best code is no code at all." - Zidar (ES član)
"Biggest obstacle to learning SQL is unlearning procedural programming." - Joe
Celko
"Minimize code, maximize data." - A. Neil Pappalardo
 
Odgovor na temu

Koce
DBA
Serbia, Belgrade

Član broj: 59217
Poruke: 142
*.vektor.net.



+1 Profil

icon Re: Pitanje oko DateTIme formata31.12.2008. u 09:48 - pre 127 meseci
Mozes da probas nesto ovako:

SET DATEFORMAT dmy

DECLARE @datevar datetime
SET @datevar = '31/12/08'
SELECT @datevar
 
Odgovor na temu

.:Marvin:.
Taurunum

Član broj: 36626
Poruke: 94
194.106.182.*



Profil

icon Re: Pitanje oko DateTIme formata02.01.2009. u 17:09 - pre 127 meseci
Uzmimo za primer, da se datum cuva kao varchar(10), uvek u formatu 'gggg.mm.dd'

Poredjenje datuma ne mora da se programira, jer se kod datuma i logicki poredi prvo godina pa mesec pa dan.
Isto vazi i za sortiranje.
Dalje, MS SQL f-ja IsDate vraca 1 za ispravan datum u formatu gggg.mm.dd i kad je varchar.

Sa Convert moze da se konvertuje u ostale tipove datuma.

Kojih je to milion razloga da se ne cuva datum kao varchar?



 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 5929



+4599 Profil

icon Re: Pitanje oko DateTIme formata03.01.2009. u 09:15 - pre 127 meseci
Evo ti za pocetak jedan, sasvim dovoljan.

Poredjenje ovih tvojih datuma radi samo za operator =. Prakticno je neke stvari ili nemoguce odraditi ili je moguce odraditi uz veliki performance hit, npr vrati sve redove izmedju 12.jan.i 17.mar 2006e. DateTime na SQL severu je implementiran kao 64bit binarni sortabilni komparativni tip sa direktnom procesorskom podrskom za te operacije. Sa drugestrane poredjenje tvojih string datuma zahteva poredjenje 11-bajtnih memorijskih blokova strcmp rutinom. Nema potrebe da izmisljas toplu vodu i forsiras prezentacioni layer u sql tabele, prezentaciona adaptacija datuma iz bianrnog formata u string se obavlja u kranjoj instanci korisniku koji operise podacima a u skladu sa njegovim loklanim regionalnim podesavanjima.
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4534



+705 Profil

icon Re: Pitanje oko DateTIme formata03.01.2009. u 09:22 - pre 127 meseci
Osećam se glupo jer to je kao da odgovaram nekom na pitanje "a zašto ja ne bih mogao da vozim levom stranom"...

Evo ti samo jedan razlog dovoljan svakom razumnom da prestane da razmišlja da krši ženevske i ostale konvencije: na aplikativnoj strani moraš da pišeš specijalan kod koji će datume iz tvog custom formata da učitava u odgovarajuće datumske tipove i obrnuto - jer svi database access lejeri već obezbeđuju tu funkcionalnost kad datume držiš u polju za datume.

Da ne govorim o svim lepim funkcijama koje mogu da se primenjuju na Date tipove, automatskoj validaciji pri upisu (šta ćeš, da pišeš trigger ili constraint da korisnik ne bi mogao da upiše '2008.23.55' u tvoje string datumsko polje? ).

Na kraju krajeva, i sama loša karma koju ćeš steći čuvanjem datuma kao stringa dovoljna je da ti garantuje stotinak večnih patnji u programerskom paklu. Pa ti vidi.

(preteče me mmix sa još jednim razlogom)
 
Odgovor na temu

Zidar
Canada

Član broj: 15387
Poruke: 3084
*.100.46-69.q9.net.



+78 Profil

icon Re: Pitanje oko DateTIme formata05.01.2009. u 16:59 - pre 127 meseci
Marvin kaze
Citat:
Uzmimo za primer, da se datum cuva kao varchar(10), uvek u formatu 'gggg.mm.dd'


Obrati paznju na rec UVEK. Kako ces da obezbedis da tvoja tabela ne prihvata pogresne datume? Koje ces consnstraints da uvedes da bi sprecio da se unese '2009.02.29' ili '2053.17.31'? Ako napises ispravnu i kompletnu CHECK CONSTRAINT priznacu ti da si bar donekle u pravu.

:-)
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 5929



+4599 Profil

icon Re: Pitanje oko DateTIme formata06.01.2009. u 00:19 - pre 127 meseci
Citat:
CHECK CONSTRAINT priznacu ti da si bar donekle u pravu.


Pa izostavis . i konvertujes ga u datetime preko ISO formata 112 (yyyymmdd) i vidis dal pukne

Code:
CREATE FUNCTION dbo.CheckMyDate
(
    @valdate varchar(10)
)
RETURNS bit
AS
begin
    set @valdate = REPLACE(@valdate, '.', '');
    declare @dt datetime;
    set @dt = CONVERT(datetime, @valdate, 112);
    return 1;
end


a poziv stavis u check contraint. Medjutim i dalje nije u pravu, ni donekle
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

.:Marvin:.
Taurunum

Član broj: 36626
Poruke: 94
91.143.212.*



Profil

icon Re: Pitanje oko DateTIme formata06.01.2009. u 07:50 - pre 127 meseci
Ok, evo da konacno odgovorim. Ja znam da u praksi takav sistem funkcionise, i to sasvim lepo. U pitanju je jedna velika IT firma, gde su uradjene i sopstvene kontrole, sa validacijama (na klijentu) i gde ne postoji sansa da korisnik upise los datum.

Sa druge strane, programerima ovakav nacin zapisa ('gggg.mm.dd') znacajno olaksava posao, jer se precesto radi i na terenu i pod velikim vremenskim pritiskom. Kako su u pitanju finansijske transakcije, gde postoji puno datuma, zamislite da pri svakom mogucem upitu pisete convert, getdate itd. Nije bas zgodno.

Ja prihvatam razloge zasto ovo nije idelano resenje, ali hocu da kazem da nije ni bas tako strasno.
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4534



+705 Profil

icon Re: Pitanje oko DateTIme formata06.01.2009. u 08:27 - pre 127 meseci
Možda definicija "sasvim lepog funkcionisanja" uključuje i to da na razvoju i održavanju tog softvera mora da radi znatno više ljudi nego što je objektivno potrebno, što se opet kompenzuje činjenicom da firma dere za svoj softver, što omogućava činjenica da je te poslove dobila na nameštenim tenderima ili bez tendera? A obično su takve konvencije pisanja datuma u string započeli ortaci koji su napisali prvu verziju programa, oni koji nisu bili baš neki programeri ali su sad vlasnici i direktori i obavljaju taj posao sasvim lepo...

Šalu na stranu, i kad se radi kako treba, nema potrebe za bilo kakvim konvertovanjem datuma, kao što smo već rekli, o tome se stara klijentska platforma.
 
Odgovor na temu

.:Marvin:.
Taurunum

Član broj: 36626
Poruke: 94
91.143.212.*



Profil

icon Re: Pitanje oko DateTIme formata09.01.2009. u 07:35 - pre 127 meseci
Hehe, da li su sve velike IT firme u Srbiji iste, ili govorimo o istoj firmi :)
Samo se ne bih slozio oko jedne stvari, na razvoju i odrzavanju, s programerskog aspekta, uvek je manjak ljudi...

Ok, evo slozio sam se da je u opstem slucaju bolje da se na klijentu radi konverzija, i samo sam naveo jedan primer kad to nije bolje. (gomila ad hoc upita i stored procedura). Pozdrav
 
Odgovor na temu

deerbeer
Beograd

Član broj: 174418
Poruke: 1189
*.adsl-a-1.sezampro.yu.



+395 Profil

icon Re: Pitanje oko DateTIme formata09.01.2009. u 10:34 - pre 127 meseci
A ja se sve vreme pitam sta ce uopste datetime tip u bazi podataka

Viva lollapalooza
 
Odgovor na temu

Fedya
Fedor Hajdu
Solution Architect
Emaratech
Dubai, UAE

Član broj: 28246
Poruke: 790
82.117.202.*

Jabber: fedya@elitesecurity.org
Sajt: devtechgroup.com


+34 Profil

icon Re: Pitanje oko DateTIme formata09.01.2009. u 11:12 - pre 127 meseci
I have seen the light!
Hajde da svi prestanemo da se opterecujemo tipovima i velicinama podataka. Hajde da sve trpamo u ntext polja, zabranimo upotrebu kljuceva, constrainta... svega...

Ili jos bolje da mi sve cuvamo u jednom velikom *.txt file-u, po mogustvu na destopu korisnika.
Every hamster has his day.
 
Odgovor na temu

chachka
Srđan Mijatov
Programer
BUS Computers
Kikinda

Moderator
Član broj: 53780
Poruke: 575
*.adsl.beotel.net.

Sajt: www.baze-podataka.net


+4 Profil

icon Re: Pitanje oko DateTIme formata14.01.2009. u 09:14 - pre 126 meseci
Evo jedna "lepa" funkcija za proveru validnosti datuma
Validating a Date with a Sledgehammer
"The best code is no code at all." - Zidar (ES član)
"Biggest obstacle to learning SQL is unlearning procedural programming." - Joe
Celko
"Minimize code, maximize data." - A. Neil Pappalardo
 
Odgovor na temu

[es] :: MS SQL :: Pitanje oko DateTIme formata

[ Pregleda: 3031 | Odgovora: 18 ] > FB > Twit

Postavi temu Odgovori

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