webForumDet fria alternativet

Datumproblem

Databaser & SQLur Databashanterare & SQL

10 svar · 385 visningar · startad av WebbisNet

WebbisNetMedlem sedan feb. 20032 027 inlägg
#1

Hur skriver jag färdigt denna sats så att bara de som inte har loggat in på 30 dagar eller mer får brevet

set mail1=objConn.Execute("SELECT userID, email, username, userPass FROM tblUsers where email is not null and email<>'' and inloggad > ??????? ")
LarsGMedlem sedan dec. 200012 464 inlägg
#2

Det beror på vilken databashanterare du använder.

Flyttas från ASP

WebbisNetMedlem sedan feb. 20032 027 inlägg
#3

LarsG skrev:

Det beror på vilken databashanterare du använder.

Flyttas från ASP

jag använder MySQL

@ndersMedlem sedan juni 200032 969 inlägg
WebbisNetMedlem sedan feb. 20032 027 inlägg
#5

WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) > Date()

så här då?

WebbisNetMedlem sedan feb. 20032 027 inlägg
#6

med

set mail1=objConn.Execute("SELECT userID, email, username, userPass FROM tblUsers where email is not null and email<>'' and email LIKE '%@%' and inloggad > DATE_SUB(CURDATE(),INTERVAL 30 DAY) > Date()")

får jag
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[MySQL][ODBC 3.51 Driver][mysqld-4.0.25-max]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '()' at line 1

/mail/Nyhetsbrev/savemassmail.asp, line 4

@ndersMedlem sedan juni 200032 969 inlägg
#7

Enkel kontroll-läsning säger att villkoret

and inloggad > DATE_SUB(CURDATE(),INTERVAL 30 DAY) > Date()

ser fantastiskt konstigt ut. Sedan är väl inte direkt större än det du vill ha?

WebbisNetMedlem sedan feb. 20032 027 inlägg
#8

sorry :-)

den här vill inte funka

set mail1=objConn.Execute("SELECT userID, email, username, userPass, inloggad FROM tblUsers where email is not null and email<>'' and email LIKE '%@%' and inloggad > ADDDATE(CURDATE(), INTERVAL 30 DAY
@ndersMedlem sedan juni 200032 969 inlägg
#9

Fick du med hela där?

Och:

@nders skrev:

Sedan är väl inte direkt större än det du vill ha?

edit: och, öh, varför bytte du till adddate? Nu frågar du ju om alla som varit inloggade senare än om en månad? :o

WebbisNetMedlem sedan feb. 20032 027 inlägg
#10

är inte så bra på det här med datum, men lär mig hela tiden....svårt att hitta felen :-)

set mail1=objConn.Execute("SELECT userID, email, username, userPass, inloggad FROM tblUsers where email is not null and email<>'' and email LIKE '%@%' and inloggad > DATE_SUB(CURDATE(),INTERVAL 30 DAY)")

detta verkar funka :-)

@ndersMedlem sedan juni 200032 969 inlägg
#11

detta verkar funka

På vilket sätt? Du har ju fortfarande större än?

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