/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
DateDiff og MySQL
Fra : pepss


Dato : 04-09-03 12:52

hejsa NG
jeg har indtil fornyelig benytte mig af DateDiff i en sql string men efter
at hvor skiftet til MySQL virker det ikke mere.
min kode er:
strSQL = "Delete from brev where DateDiff('d', Dato, Date()) > 30"<-- 23

og fejlen:

Microsoft OLE DB Provider for ODBC Drivers error '80040e09'

[TCX][MyODBC]Der er en fejl i SQL syntaksen nær '('d', Dato, Date()) > 30'
på linje 1

/ami/popup.asp, line 23

mine spørgsmål er så:
er DateDiff noget kun access noget?
hvordan kan man lave det samme i MySQL?

--
pepss
den ordblinde der prøver at blive web-designer
www.cafe-flirt.dk
www.team-blitz.dk



 
 
Chrisser (04-09-2003)
Kommentar
Fra : Chrisser


Dato : 04-09-03 13:48

pepss wrote:
> [TCX][MyODBC]Der er en fejl i SQL syntaksen nær '('d', Dato,
> Date()) > 30' på linje 1
>
> /ami/popup.asp, line 23
>
> mine spørgsmål er så:
> er DateDiff noget kun access noget?
> hvordan kan man lave det samme i MySQL?

Nu sidder jeg kun med MSSQL og ikke MySQL - men mon ikke syntaksen er
temmelig ens....

MSSQL har DateDiff() - Der skal første argument ( d ) i gåseøjne frem for
enkelte pinger. Desuden, hvis det er dags dato du er ude efter, bruges der
GetDate() og ikke Date().

Ingen af disse to fejl giver dog den samme fejlmeddelelse som du sidder med,
men det er da et forsøg værd

Chrisser



Mikkel Egelund (04-09-2003)
Kommentar
Fra : Mikkel Egelund


Dato : 04-09-03 13:51

> er DateDiff noget kun access noget?

Nej, DateDiff er en del af VB, og derfor ikke database afhængig. DateDiff
returnerer i dit tilfælde et tal. Så den linie du beskriver giver f.eks.

strSQL = "Delete from brev where 5 > 30"

og det giver vidst ikke meget mening??

/mikkel

http://spacerent.dk - Webhosting fra 49,-/md.



Chrisser (04-09-2003)
Kommentar
Fra : Chrisser


Dato : 04-09-03 14:19

Mikkel Egelund wrote:
>> er DateDiff noget kun access noget?
>
> Nej, DateDiff er en del af VB, og derfor ikke database afhængig.
> DateDiff returnerer i dit tilfælde et tal. Så den linie du
> beskriver giver f.eks.
>
> strSQL = "Delete from brev where 5 > 30"
>
> og det giver vidst ikke meget mening??

Der findes en VB-Script funktion der hedder DateDiff ja, men der findes
*også* en sådan i Access, MSSQL og måske MySQL.
- og nu blev jeg nysgerrig
En goggle gav om datediff i MySQL:
http://www.mysql.com/doc/en/Date_and_time_functions.html#IDX1318

Oversigten på manualen er her:
http://www.mysql.com/doc/en/Function_Index.html

Pepss: Håber det kan hjælpe dig på vej
Chrisser



pepss (04-09-2003)
Kommentar
Fra : pepss


Dato : 04-09-03 15:16


"Chrisser" skrev
> Der findes en VB-Script funktion der hedder DateDiff ja, men der findes
> *også* en sådan i Access, MSSQL og måske MySQL.
> - og nu blev jeg nysgerrig
> En goggle gav om datediff i MySQL:
> http://www.mysql.com/doc/en/Date_and_time_functions.html#IDX1318
>
> Oversigten på manualen er her:
> http://www.mysql.com/doc/en/Function_Index.html
>
> Pepss: Håber det kan hjælpe dig på vej

tja... nu er mit UK ikke lige noget at prale af! men efter hvad jeg kunne se
skal det se nogen lunde sådan ud:
WHERE dato > NOW() - INTERVAL 30 DAY måske...

men det giver samme fejl

--
pepss
den ordblinde der prøver at blive web-designer
www.cafe-flirt.dk
www.team-blitz.dk



Morten R. Rasmussen (05-09-2003)
Kommentar
Fra : Morten R. Rasmussen


Dato : 05-09-03 00:40

WHERE Dato>Date_Sub(Now(), INTERVAL -30 DAY)

Det ser nogenlunde rigtigt ud.

- Morten

"pepss" <olefriis@privat.dk> wrote in message
news:bj7hku$6kq$1@sunsite.dk...
>
> "Chrisser" skrev
> > Der findes en VB-Script funktion der hedder DateDiff ja, men der findes
> > *også* en sådan i Access, MSSQL og måske MySQL.
> > - og nu blev jeg nysgerrig
> > En goggle gav om datediff i MySQL:
> > http://www.mysql.com/doc/en/Date_and_time_functions.html#IDX1318
> >
> > Oversigten på manualen er her:
> > http://www.mysql.com/doc/en/Function_Index.html
> >
> > Pepss: Håber det kan hjælpe dig på vej
>
> tja... nu er mit UK ikke lige noget at prale af! men efter hvad jeg kunne
se
> skal det se nogen lunde sådan ud:
> WHERE dato > NOW() - INTERVAL 30 DAY måske...
>
> men det giver samme fejl
>
> --
> pepss
> den ordblinde der prøver at blive web-designer
> www.cafe-flirt.dk
> www.team-blitz.dk
>
>



Morten R. Rasmussen (05-09-2003)
Kommentar
Fra : Morten R. Rasmussen


Dato : 05-09-03 00:51

Bortset fra at det selvfølgelig ikke skal være -30 når det er date_sub.
WHERE Dato>Date_Sub(Now(), INTERVAL 30 DAY)

- Morten

"Morten R. Rasmussen" <mortrr@liamtoh.com> wrote in message
news:3f57cd58$0$438$edfadb0f@dread11.news.tele.dk...
> WHERE Dato>Date_Sub(Now(), INTERVAL -30 DAY)
>
> Det ser nogenlunde rigtigt ud.
>
> - Morten
>
> "pepss" <olefriis@privat.dk> wrote in message
> news:bj7hku$6kq$1@sunsite.dk...
> >
> > "Chrisser" skrev
> > > Der findes en VB-Script funktion der hedder DateDiff ja, men der
findes
> > > *også* en sådan i Access, MSSQL og måske MySQL.
> > > - og nu blev jeg nysgerrig
> > > En goggle gav om datediff i MySQL:
> > > http://www.mysql.com/doc/en/Date_and_time_functions.html#IDX1318
> > >
> > > Oversigten på manualen er her:
> > > http://www.mysql.com/doc/en/Function_Index.html
> > >
> > > Pepss: Håber det kan hjælpe dig på vej
> >
> > tja... nu er mit UK ikke lige noget at prale af! men efter hvad jeg
kunne
> se
> > skal det se nogen lunde sådan ud:
> > WHERE dato > NOW() - INTERVAL 30 DAY måske...
> >
> > men det giver samme fejl
> >
> > --
> > pepss
> > den ordblinde der prøver at blive web-designer
> > www.cafe-flirt.dk
> > www.team-blitz.dk
> >
> >
>
>



pepss (05-09-2003)
Kommentar
Fra : pepss


Dato : 05-09-03 08:56


"Morten R. Rasmussen" skrev
> > Det ser nogenlunde rigtigt ud.

> Bortset fra at det selvfølgelig ikke skal være -30 når det er date_sub.
> WHERE Dato>Date_Sub(Now(), INTERVAL 30 DAY)

jeg vil ikke ligefram sige at jeg kan forstå hvad der sker men det virker
heller ikke på den måde!

--
pepss
den ordblinde der prøver at blive web-designer
www.cafe-flirt.dk
www.team-blitz.dk



Mikkel Egelund (04-09-2003)
Kommentar
Fra : Mikkel Egelund


Dato : 04-09-03 14:47

> og det giver vidst ikke meget mening??

nå, spøg til side. Er du sikker på at dit felt hedder dato?

Hvilken version af MySQL kører du på?


/mikkel

http://spacerent.dk - Webhosting fra 49,-/md.



pepss (04-09-2003)
Kommentar
Fra : pepss


Dato : 04-09-03 15:19


"Mikkel Egelund" <me@spacerent_SPAMIT.dk> skrev i en meddelelse
news:3f5742bd$0$454$edfadb0f@dread11.news.tele.dk...
> > og det giver vidst ikke meget mening??
>
> nå, spøg til side. Er du sikker på at dit felt hedder dato?

ja det gør det!

> Hvilken version af MySQL kører du på?

hmm det ved jeg faktisk ikke. det er bare på web-hotellet
har lige sent en mail og spurt dem!

--
pepss
den ordblinde der prøver at blive web-designer
www.cafe-flirt.dk
www.team-blitz.dk



pepss (04-09-2003)
Kommentar
Fra : pepss


Dato : 04-09-03 18:02


"Mikkel Egelund" skrev
> Hvilken version af MySQL kører du på?

MySQL 4.0.13-nt
kan det passe?

--
pepss
den ordblinde der prøver at blive web-designer
www.cafe-flirt.dk
www.team-blitz.dk



Mikkel Egelund (04-09-2003)
Kommentar
Fra : Mikkel Egelund


Dato : 04-09-03 21:04

> MySQL 4.0.13-nt
> kan det passe?

Ja, det kan godt passe - og det kan også godt passe at du får en fejl.
Datediff er først med fra MySQL 4.1.1. Så du må finde en anden måde at lave
det på...

/mikkel

http://spacerent.dk - Webhosting fra 49,-/md.



pepss (05-09-2003)
Kommentar
Fra : pepss


Dato : 05-09-03 08:59


"Mikkel Egelund" skrev
> > MySQL 4.0.13-nt
> > kan det passe?
>
> Ja, det kan godt passe - og det kan også godt passe at du får en fejl.
> Datediff er først med fra MySQL 4.1.1. Så du må finde en anden måde at
lave
> det på...

ja det må jeg jo så gøre! jeg kan jo nok ikke logge dem til at opgradere

--
pepss
den ordblinde der prøver at blive web-designer
www.cafe-flirt.dk
www.team-blitz.dk



Peter Lykkegaard (04-09-2003)
Kommentar
Fra : Peter Lykkegaard


Dato : 04-09-03 16:44


"Mikkel Egelund" <me@spacerent_SPAMIT.dk> wrote in message
news:3f5735ee$0$421$edfadb0f@dread11.news.tele.dk...
> > er DateDiff noget kun access noget?
>
> Nej, DateDiff er en del af VB, og derfor ikke database afhængig.

Hmm, fx MSSQL understøtter i T-SQL

> ... DateDiff returnerer i dit tilfælde et tal. Så den linie du
> beskriver giver f.eks.

> strSQL = "Delete from brev where 5 > 30"
> og det giver vidst ikke meget mening??

Øh, jow
Den skal _ikke_ slette noget da where clausen ikke er opfyldt, ganske
nyttigt
Btw "5" er jo blandt afhængig af indholdet i feltet Dato (fra databasen)

Der er jo ingen grund til at hente alle brevene ind i et recordset for at
undersøge om der er nogen der skal slettes

mvh/Peter Lykkegaard



Mikkel Egelund (04-09-2003)
Kommentar
Fra : Mikkel Egelund


Dato : 04-09-03 17:11

> Øh, jow

tjek ""

/m



Falcon (04-09-2003)
Kommentar
Fra : Falcon


Dato : 04-09-03 16:05


> strSQL = "Delete from brev where DateDiff('d', Dato, Date()) > 30"<-- 23
strSQL = "Delete from brev where DateDiff('dd', Dato, Date()) > 30"

Tror du skal skrive 2*d

mvh
Falcon
www.it-nordjylland.dk



pepss (04-09-2003)
Kommentar
Fra : pepss


Dato : 04-09-03 16:09


"Falcon" <hpfjerndette@popx.dk> skrev i en meddelelse
news:bj7kak$ln4$1@sunsite.dk...
>
> > strSQL = "Delete from brev where DateDiff('d', Dato, Date()) > 30"<--
23
> strSQL = "Delete from brev where DateDiff('dd', Dato, Date()) > 30"
>
> Tror du skal skrive 2*d

det har jeg også prøvet og med " og ""
men samme fejl.


--
pepss
den ordblinde der prøver at blive web-designer
www.cafe-flirt.dk
www.team-blitz.dk



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408944
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste