Avatar billede catu Nybegynder
29. maj 2012 - 12:11 Der er 1 kommentar og
1 løsning

varchar(20) til date

Har en tabel der er oprettet som "SaleDate varchar(20)", som jeg rigtigt gerne ville have omdannet til date i en forespørgsel, således at jeg kan trække statistik på salg pr time. Har ingen idé om hvordan scriptet skal opsættes, men kan forstå på de ting jeg har fundet på nettet at feltet skal omsættes til date. Værdierne i databasen er sat ind således =  25/05/2012 12:28:24.

Nogen der ved hvordan man gør det?
Avatar billede catu Nybegynder
29. maj 2012 - 12:13 #1
det hele ligger lidt udenfor den smule jeg har lært om sql, men har fundet en anden der har problemet på nette, og han blev anbefalet noget a'la
SELECT CONVERT(VARCHAR(20),SaleDate,131), replace(str(datepart(hour,
SaleDate),2,0),' ','0') + ':00' as Hour,
count(SaleId)as 'Customer
Count', sum(SaleTotal) as Sales, avg(SaleTotal) as 'Average Sales'
FROM SALE
WHERE SaleDate between '25/05/2012' and '29/05/2012'
GROUP BY CONVERT(VARCHAR(20),SaleDate,101), datepart([hour],SaleDate)
ORDER BY CONVERT(VARCHAR(20),SaleDate,101), datepart([hour],SaleDate) asc
Avatar billede Soeren_K_K Nybegynder
02. juni 2012 - 16:13 #2
Du skal i stedet lave feltet om til en INT(11), på den måde kan du indsætte et timestamp uden noget at du senere hen skal lave en masse for at konfigurere hvordan du skal regne det ud.

Når du bruger INT(20) så kan du nemlig bare trække værdien ud, det er nemlig et rent tal, ingen specieltegn eller noget, hele strengen kan nemlig bruges i et regnestykke.

Og i det en time er 3600 sekunder så skal du bare lave sådan der skal være en difference på 3600 sekunder. På den måde kan du regne det i timer, samt at du kan via date() funktionen få lavet sådan at strengen kan vises ligesom du vil, som tid, som dato, som år, som måned, eller forskellige kombinationer.

Det ville jeg i hvert fald gøre
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester