04. januar 2007 - 17:26
Der er
14 kommentarer og 2 løsninger
MySQL og DATETIME
Hi, jeg har en MySQL-DB med en table (testtable) som har to col's (testid) og (testdate). testid har datatype BIGINT og testdate har datatype DATETIME nu vil jeg gerne lave en select som finder en row med testid=1 og giver informationer om testdate + 300 sekunder er mindre end tiden nu. hvordan skal sådan en select se ud? SELECT testid, (testdate + 300 < timenow) FROM testtable WHERE testid = 1; hvordan vil SELECT-commando'en se ud, for at få det her til at virke? med venlig hilsen KernelX
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
04. januar 2007 - 17:33
#1
SELECT testid, testdate FROM testtable WHERE testdate < DateAdd('s',+300,Now()) AND testid = 1 og måske skal der arbejdes lidt i denne del DateAdd('s',+300,Now()) til DateAdd('s',+300,Date()) eller DateAdd('s',+300,Time()) eller syntax... måske skal der "" rundt om s.. eller intet! men ellers vil jeg mene den er der
04. januar 2007 - 17:34
#2
SELECT testid, testdate FROM testtable WHERE Now() < DateAdd('s',+300,testdate) AND testid = 1 sorry..sådan.. og hvis dit timenow kan bruges skal du bare indsætte den istedet for Now() men igen.. tjek syntax for DateAdd('s',+300,testdate)
04. januar 2007 - 17:35
#3
og vend < til > :) doh!
04. januar 2007 - 17:52
#4
SELECT testid, testdate FROM testtable WHERE Now() > DateAdd('s',+300,testdate) AND testid = 1 --- #1305 - FUNCTION tmp.DateAdd does not exist tmp hedder min database
04. januar 2007 - 18:03
#5
SECOND(NOW()) måske findes dateadd slet ikke som en funktion i Mysql.. så kan du være heldig hvis du kan gøre sådan her SELECT testid, testdate FROM testtable WHERE Now() > ADDTIME(testdate,300) AND testid = 1
04. januar 2007 - 18:03
#6
DATE_ADD(felt,INTERVAL 300 SECOND)
04. januar 2007 - 18:03
#7
04. januar 2007 - 18:09
#8
SELECT testid, testdate FROM testtable WHERE Now() > ADDTIME(testdate,300) AND testid = 1 virker uden error, men leverer et forkert facit. den leverer mig et DATO. som facit vil jeg gerne have testid | testdate ---------------------- 1 | 0 eller 1 det jeg gerne vil have SELECT-commandoen til at lave er - at den skal give informationer om testdate+300secs er mindre end tiden nu ... eller om testdate+300secs ikke er mindre end tiden nu. SELECT skal i col 2 ikke levere et dato
04. januar 2007 - 18:13
#9
stedet for DateAdd bruger MySQL DATE_ADD (som jeg lige kom til at læse på arne_v's link)
04. januar 2007 - 18:16
#10
ups - blev allerede skrevet om ...
04. januar 2007 - 18:21
#11
SELECT testid, DATE_ADD( testdate, INTERVAL 300 SECOND ) < NOW( ) FROM testtable virker
04. januar 2007 - 18:23
#12
arnve_v husk at skrive et eller andet som svar ... så deler jeg points ... 100 til hver
04. januar 2007 - 18:25
#13
er der nogen som kan sige mig, hvordan jeg kan sætte alias-navn til overskrifterne, som bliver leveret? SELECT testid, DATE_ADD( testdate, INTERVAL 300 SECOND ) < NOW( ) AS aliasnavn FROM testtable WHERE testid=1 virker ikke hos mig. jeg troede ind til nu altid, at man kunne lave det med "AS"
04. januar 2007 - 18:27
#14
proev SELECT testid, (DATE_ADD( testdate, INTERVAL 300 SECOND ) < NOW( )) AS aliasnavn FROM testtable WHERE testid=1
04. januar 2007 - 18:29
#15
ah - ok, det virker! tak! husk at skrive et eller andet som svar
04. januar 2007 - 20:14
#16
svar
Computerworld tilbyder specialiserede kurser i database-management