webForumDet fria alternativet

Datumproblem

Databaser & SQL

10 svar · 385 visningar · startad av WebbisNet

Medlem sedan feb. 20032 027 inlägg
Frågan#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 > ??????? ")
Medlem sedan dec. 200012 464 inlägg
#2

Det beror på vilken databashanterare du använder.

Flyttas från ASP

Medlem 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

Medlem sedan juni 200032 967 inlägg
Medlem sedan feb. 20032 027 inlägg
#5

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

så här då?

Medlem 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

Medlem sedan juni 200032 967 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?

Medlem 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
Medlem sedan juni 200032 967 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

Medlem 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 :-)

Medlem sedan juni 200032 967 inlägg
#11

detta verkar funka

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

262 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)