/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
GETDATE() og finde poster oprettet i dag.
Fra : Anders Jacobsen


Dato : 27-03-01 21:00

Hej,

Nogen der kan og vil hjælpe?

Jeg har en tabel hvor jeg har et felt "DatoTid", det autoudfylder sig selv
ved hjælp at GETDATE(). Jeg vil nu finde alle poster oprettet dagsdato,
jvnf. online hjælpen i SQL Server 2000:

SELECT order_id
FROM orders
WHERE order_date = GETDATE()

Displays orders placed today
Det virker bare ikke - Øv! (jeg har naturligvis tilpasset ovenstående så det
passer i med min tabel og felt
Hvordan hulen for jeg det til at virke.
pft.
Anders




 
 
Kristian Damm Jensen (28-03-2001)
Kommentar
Fra : Kristian Damm Jensen


Dato : 28-03-01 07:44

Anders Jacobsen wrote:
>
> Hej,
>
> Nogen der kan og vil hjælpe?
>
> Jeg har en tabel hvor jeg har et felt "DatoTid", det autoudfylder sig selv
> ved hjælp at GETDATE(). Jeg vil nu finde alle poster oprettet dagsdato,
> jvnf. online hjælpen i SQL Server 2000:
>
> SELECT order_id
> FROM orders
> WHERE order_date = GETDATE()
>
> Displays orders placed today
> Det virker bare ikke - Øv! (jeg har naturligvis tilpasset ovenstående så det
> passer i med min tabel og felt
> Hvordan hulen for jeg det til at virke.

getdate() returnerer det aktuelle tidspunkt, dvs. inklusive klokkeslet
detaljeret ned til millisekunder.

Prøv convert(varchar, getdate(), 112). Convert foretager en formatering
af datoen, og option 112 er et format, der kun undeholder år, måned og
dag.


--
Kristian Damm Jensen | Feed the hungry. Go to
kristian-damm.jensen@capgemini.dk | http://www.thehungersite.com



Jakob Nilsson (29-03-2001)
Kommentar
Fra : Jakob Nilsson


Dato : 29-03-01 18:38


"Kristian Damm Jensen" <kristian-Damm.Jensen@REMOVEcapgemini.dk> wrote in
message news:3AC1881E.9564C566@REMOVEcapgemini.dk...
> Prøv convert(varchar, getdate(), 112). Convert foretager en formatering
> af datoen, og option 112 er et format, der kun undeholder år, måned og
> dag.


Alternativt kan du kaste dig over datediff:

....
WHERE Datediff(d, order_date, getdate()) = 0

- Jakob



Stig Johansen (30-03-2001)
Kommentar
Fra : Stig Johansen


Dato : 30-03-01 04:26

Hej.



"Jakob Nilsson" <jakobnilsson@hotmail.com> wrote in message
news:bqKw6.1640$84.251793@news010.worldonline.dk...
>
> "Kristian Damm Jensen" <kristian-Damm.Jensen@REMOVEcapgemini.dk> wrote in
> message news:3AC1881E.9564C566@REMOVEcapgemini.dk...
> > Prøv convert(varchar, getdate(), 112). Convert foretager en formatering
> > af datoen, og option 112 er et format, der kun undeholder år, måned og
> > dag.
>
>
> Alternativt kan du kaste dig over datediff:
>
> ...
> WHERE Datediff(d, order_date, getdate()) = 0
>

Kunne ma ikke forestille sig, at optimizeren er mere glad for
WHERE order_date BETWEEN 'idag kl 0' AND 'idag kl 23:59:59' ?

--
Med venlig hilsen/Best Regards
Stig Johansen - stig@w3data.dk
W3 Data - mailto@w3data.dk




Kristian Damm Jensen (30-03-2001)
Kommentar
Fra : Kristian Damm Jensen


Dato : 30-03-01 10:15

Stig Johansen wrote:
>
> Hej.
>
> "Jakob Nilsson" <jakobnilsson@hotmail.com> wrote in message
> news:bqKw6.1640$84.251793@news010.worldonline.dk...
> >
> > "Kristian Damm Jensen" <kristian-Damm.Jensen@REMOVEcapgemini.dk> wrote in
> > message news:3AC1881E.9564C566@REMOVEcapgemini.dk...
> > > Prøv convert(varchar, getdate(), 112). Convert foretager en formatering
> > > af datoen, og option 112 er et format, der kun undeholder år, måned og
> > > dag.
> >
> >
> > Alternativt kan du kaste dig over datediff:
> >
> > ...
> > WHERE Datediff(d, order_date, getdate()) = 0
> >
>
> Kunne ma ikke forestille sig, at optimizeren er mere glad for
> WHERE order_date BETWEEN 'idag kl 0' AND 'idag kl 23:59:59' ?

Jo. Enhver anvendelse af en funktion på et felt fjerner optimizerens
mulighed for fx at bruge index.

Optimalt bør man selvfølgelig sørge for kun at gemme klokkeslet når der
er brug for det. Det vil sige benytte trimning med convert(varchar,
dato, 112), idet man gemmer værdien. Det gør alle senere anvendelser
meget nemmere.

--
Kristian Damm Jensen | Feed the hungry. Go to
kristian-damm.jensen@capgemini.dk | http://www.thehungersite.com



Jakob Nilsson (30-03-2001)
Kommentar
Fra : Jakob Nilsson


Dato : 30-03-01 16:40


"Kristian Damm Jensen" <kristian-Damm.Jensen@REMOVEcapgemini.dk> wrote in
message news:3AC44E97.86D4835B@REMOVEcapgemini.dk...

> Jo. Enhver anvendelse af en funktion på et felt fjerner optimizerens
> mulighed for fx at bruge index.
¨
Mener du at en anvendelse af DATEDIFF fjerner optimizerens mulighed for at
vælge at bruge et index?




Stig Johansen (30-03-2001)
Kommentar
Fra : Stig Johansen


Dato : 30-03-01 17:48

Hej.


"Jakob Nilsson" <jakobnilsson@hotmail.com> wrote in message
news:KN1x6.1865$o4.84765@news010.worldonline.dk...
>
> "Kristian Damm Jensen" <kristian-Damm.Jensen@REMOVEcapgemini.dk> wrote in
> message news:3AC44E97.86D4835B@REMOVEcapgemini.dk...
>
> > Jo. Enhver anvendelse af en funktion på et felt fjerner optimizerens
> > mulighed for fx at bruge index.
> ¨
> Mener du at en anvendelse af DATEDIFF fjerner optimizerens mulighed for at
> vælge at bruge et index?

Der er vel kun en måde at finde ud af det på, nemlig ved at lave en 'Show
execution plan' på begge dele.

--
Med venlig hilsen/Best Regards
Stig Johansen - stig@w3data.dk
W3 Data - mailto@w3data.dk




Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408941
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste