28. januar 2006 - 05:22Der er
3 kommentarer og 1 løsning
sql sætinng konvertering vigtigt
Jeg har arbejdet på en: MySQL server version: 5.0.18-nt
Men nu skal det altså over på en: SELECT owner, datotid FROM stat WHERE WEEKOFYEAR(datotid) = WEEKOFYEAR(NOW()) AND YEAR(datotid) = YEAR(NOW()) AND day='Monday' AND owner='test'
1) Denne sql sætning fungere ikke på MySQL server version: 4.0.24. Hvad skal jeg ændre for at få den til at virke ??
2) et helt andet problem. Feltet datotid er af typen timestamp og har en default værdi til CURRENT_TIMESTAMP. Men det virker heller ikke med MySQL server version: 4.0.24. Den indsætter en masse 0´er i stedet.
Hjæællpp.. jeg har brug for en hardcore sql person :)
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Hvis du ikke kan gøre det i SQL, må du gøre det i det program, der ligger bag ved.
1) Du bruger ... WHERE WEEKOFYEAR(datotid) ... og det er ret ineffektivt. Du bør både for version 4 og 5 af MySql beregne grænserne for uge XX (altså mellem 20051001000000 og 10051007235959 - fiktive tal) og bruge dem i sammenligningen. I og med du søger på feltet, så er der vel index på, og det vil så kunne udnyttes. Alternativt kan man lave et felt med ugenummer, også med index, og beregne ugenummeret ved indsættelse. Du gør det jo allerede med feltet day.
2) Både i MySql 4 og 5 mener jeg man bare skal udelade feltet datotid, af typen timestamp, når du laver INSERT/UPDATE. Så kommer det korrekte timestamp af sig selv.
ja... jo.. men det løser ikke problemet, og nu er det for sent.....
Synes godt om
Ny brugerNybegynder
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.