|
| 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 |
| | |
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
| |
|
|