Avatar billede jonas_h Nybegynder
21. oktober 2005 - 14:38 Der er 16 kommentarer

Tid i MySql (ASP)

Jeg har to felter i min MySQL-db som er hhv et DATE og TIME felt. Når jeg henter noget fra DATE felterne virker det fint nok, og ASP siden konverterer selv til det "rigtige" format, men når jeg henter fra TIME feltet, returnerer den slet ikke noget...

Og lige et andet spørgsmål på vejen.. Hvis man har et DATETIME felt, hvordan "isolerer" man så tiden fra dette? Har prøvet TIME(feltet) hvilket ikke virker..
Avatar billede jaw Nybegynder
21. oktober 2005 - 14:41 #1
Du kan jo formatere i dit udtræk:

SELECT felt1, felt2, DATE_FORMAT('datetime-fel', '%H.%i.%s') as tid FROM tabel
Avatar billede jonas_h Nybegynder
21. oktober 2005 - 14:46 #2
Hvad så mht TIME feltet? Kan man også bruge samme formatering?
Avatar billede jaw Nybegynder
21. oktober 2005 - 14:47 #3
Skulle nok være muligt, men eftersom at du slet ikke får noget returneret tyder det mere på at feltet er tomt eller at du bruger forkert navn?!
Avatar billede jonas_h Nybegynder
21. oktober 2005 - 14:51 #4
Nej det har jeg checket... Der står det helt rigtige i feltet (Checker vha. myPHPadmin), men når jeg så henter til ASP-filen er der intet. Og havde navnet værert forkert havde siden returneret en fejl.
Avatar billede araz Nybegynder
21. oktober 2005 - 19:21 #5
Hej Jonas
har du prøvet "FormatDateTime(datetime-fel,4)".
hvis det ikke er svaret må du komme med et stump kode
Avatar billede jonas_h Nybegynder
21. oktober 2005 - 19:26 #6
Da mit webhotel's server desværre er nede, kan jeg ikke prøve:(
Men gør det så hurtigt jeg kan. Det er i sql-forspørgslen, ik?
Avatar billede araz Nybegynder
21. oktober 2005 - 20:22 #7
Nej svaret er til isolaion af tiden i datetime.

til dit første spørgsmål skal jeg ihvertfald bruge lidt kode til.
Avatar billede jonas_h Nybegynder
21. oktober 2005 - 21:16 #8
sql = "SELECT time, date, datefull FROM test ORDER BY date DESC"
Set rs = nconn.Execute(sql)
Response.Write(CDate(rs("date")) & " - " & rs("time"))
date er et DATE felt, og time er TIME felt... Og date virker perfekt, men time udskriver intet.
Avatar billede jonas_h Nybegynder
21. oktober 2005 - 21:58 #9
Araz: FormatDateTime(datetime-fel,4) virker perfekt... Men: Ville jo helst undgå at skulle gemme den fulde dato men kun tiden, og den virker stadig ikke.
Avatar billede jonas_h Nybegynder
21. oktober 2005 - 22:05 #10
Og jeg er ret sikker på, at det er ASP som er skyld i det, for når jeg skriver samme sql kommando i phpMyAdmin, returnerer den helt fint.
Avatar billede jonas_h Nybegynder
21. oktober 2005 - 22:24 #11
Har fundet en løsning nu...
sql = "SELECT HOUR(time) as tHour, MINUTE(time) as tMin osv... Bare ikke den mest elegante løsniing.
Nogle som har andre forslag til løsninger?
Avatar billede jaw Nybegynder
21. oktober 2005 - 22:26 #12
Det er bestemt ikke mindre elegant end at foretage formateringen med ASP. På din måde slipper for du for først at udhente for derefter at formatere, nu formaterer du i dit udtræk.
Avatar billede jonas_h Nybegynder
21. oktober 2005 - 22:30 #13
Nej jeg er jo netop nødt til at formatere i ASP bagefter...
Fra forrige eks, er jeg nødt til at <%CDate(tHour & ":" & tMin)%>
Avatar billede jaw Nybegynder
21. oktober 2005 - 22:32 #14
Nu er jeg slet ikke inde i ASP, men hvad er det du vil? Prøvede du mit tidligere forsøg?
Avatar billede jonas_h Nybegynder
21. oktober 2005 - 22:34 #15
Ja, men det var jo mht DATETIME feltet... Nu er det kun et time-felt som jeg bare vil have udskrevet. Hvis jeg bare udskrev det normalt, udskrev den en tom streng. Så er nødt til at udskrive time, minut, og derefter konvertere tilbage i ASP.
Avatar billede jaw Nybegynder
21. oktober 2005 - 22:40 #16
Måske time er et reserveret ord, hvilket jeg mener det er.

Prøv:
sql = "SELECT `time`, date, datefull FROM test ORDER BY date DESC"

Og så udskriv den uden formatering og se om det har ændret noget.
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
Kategori
Computerworld tilbyder specialiserede kurser i database-management

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