webForumDet fria alternativet

Problem med SQL och ny server

7 svar · 509 visningar · startad av DinoHelena

DinoHelenaMedlem sedan jan. 200311 inlägg
#1

Jag har bytt till en ny server. Båda är Windows 2003-servrar. På den gamla fungerar allt som det ska men inte på den nya.

Jag har gjort några webbapplikationer med php och Access databaser.
På ett ställe ska alla poster som är nyare än 30 dagar tillbaka visas.

I SQL satsen skrev jag where inlagd > NOW() -30

Det har fungerat utmärkt på den gamla servern men när jag flyttade över allt till den nya så får jag inte fram några poster trots att jag vet att det finns poster som ska komma fram. PHP fungerar som det ska, det är just SQL som inte gör som jag vill. Båda servrarna är konfade på samma sätt.

När jag skriver where inlagd < NOW() -30 Får jag fram alla poster i databasen fast att jag bara ska få fram de som är äldre än 30 dagar tillbaka. Detta fungerar också på den gamla men inte på den nya servern.

Är det någon som har ett tips?

The_HulkMedlem sedan juni 20031 837 inlägg
#2

Vad är det för datatyp på fältet "inlagd"?
Om du öppnar filen i Access, hur data i fältet inlagd ut?

nitro2k01Medlem sedan aug. 20039 342 inlägg
#3

Prova:

...inlagd > DATE_SUB(NOW(), INTERVAL 30 DAY)

Edit: Den koden kanske bara funkar i MySQL, prova

...inlagd > DateAdd("d", -30, Date())
DinoHelenaMedlem sedan jan. 200311 inlägg
#4

The Hulk: datatypen är text, formatet på datumet (inlagd) är 2010-04-06
nitro2k01: Provade men tyvärr fungerade det inte heller får inte fram några poster alls

DinoHelenaMedlem sedan jan. 200311 inlägg
#5

Fungerar inte heller med ...inlagd > DateAdd("d", -30, Date())

Det är precis som om den inte känner av operatorerna i detta fall >

Är det någon som känner till om det är någon inställning på servern som man måste göra för att få operatorerna att fungera i SQL?

@ndersMedlem sedan juni 200032 969 inlägg
#6

Att lagra datum i textfält är snudd på straffbart - och det är mycket möjligt att det är en av orsakerna till att saker och ting beter sig mysko. Jag föreslår att du byter datatyp på fältet till just datum, så slipper du problem med att datum lagras i olika format i samma fält.

The_HulkMedlem sedan juni 20031 837 inlägg
#7

testa med

where DateValue(Left(inlagd,10)) > NOW() -30
CompusaMedlem sedan jan. 20023 327 inlägg
#8

@nders skrev:

Att lagra datum i textfält är snudd på straffbart - och det är mycket möjligt att det är en av orsakerna till att saker och ting beter sig mysko. Jag föreslår att du byter datatyp på fältet till just datum, så slipper du problem med att datum lagras i olika format i samma fält.

Jag håller med. Gör om, gör rätt!

127 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)