Avatar billede mettecarsten Nybegynder
29. marts 2007 - 09:53 Der er 10 kommentarer og
1 løsning

Indsætte dato + 14 dage i Mysql

Hej eksperter

Formentlig et simpelt spg., men jeg kan bare ikke finde løsningen blandt de mange andre indlæg, som jeg har søgt i :-)

Det drejer sig om, at jeg i en database ønsker at få indsat dags dato + 14 dage, hvilket skal bruges i forbindelse med udløb af en annonce.

I databasen indsætter jeg oprettelsesdatoen / dags dato med denne kode:

dg=Day(Date())
md=Month(Date())
yyyy=YEAR(Date())
Oprettet = yyyy&"-"&md&"-"&dg

Hvilken kode skal jeg bruge for at få indsat dags dato + 14 dage? - har f.eks. prøvet med: Udloeb = (Date()+14)
Avatar billede michael_stim Ekspert
29. marts 2007 - 09:57 #1
DATE_ADD('2003-07-13', INTERVAL 14 DAY)
Avatar billede michael_stim Ekspert
29. marts 2007 - 10:03 #2
Ellers:
Day(Date())+14
Avatar billede mettecarsten Nybegynder
29. marts 2007 - 10:05 #3
Den forstår jeg desværre ikke. Oprettelsesdagen indsættes som:
Oprettet = yyyy&"-"&md&"-"&dg
- og længere nede
SQL = SQL & "'" & Oprettet & "',"
Hvordan skal sætningen Udloeb = .... være?
Avatar billede fennec Nybegynder
29. marts 2007 - 10:06 #4
Kan ifølge manualen (5.0) også bare skrives som:

insert into dinTabel(enDato) values(date() + INTERVAL 14 DAY)
Avatar billede mettecarsten Nybegynder
29. marts 2007 - 10:07 #5
Har nu prøvet med:
Udloeb = Day(Date())+14
- og længere nede
SQL = SQL & "'" & Udloeb & "',"

men der indsættes blot 0000-00-00??
Avatar billede michael_stim Ekspert
29. marts 2007 - 10:11 #6
Ved ikke om ASP kan håndtere det. Er ikke så indsat i ASP. Jeg mente i SQL'en.
Avatar billede fennec Nybegynder
29. marts 2007 - 10:31 #7
Skal vi ikke lige slå fast at der er 2 måder at finde datoen+14 på. I ASP eller i MySQL:

1: ASP
function DBDate(fDate)
  DBDate = year(fDate) & "-"& month(fDate) &"-"& day(fDate)
end function
dato = date()+14
sql = "insert into enTabel(enDato) values('"& DBDate(dato) &"')"

2: MySQL
sql = "insert into enTabel(enDato) values(date() + INTERVAL 14 DAY)"

Første metode beregnes datoen i ASP, og formateres til MySQL format. I anden metode gøres det med funktioner tilgængelig i MySQL, og formateringen er ikke et problem.
Avatar billede mettecarsten Nybegynder
29. marts 2007 - 11:32 #8
Det begynder at dæmre, men alligevel :-)

fennec, kan du hjælpe med en mere konkret kode, som tager udgangspunkt i min nuværende kode. Først har jeg linier med forskellige værdier:
..flere linier ovenover
Overskrift = "Din overskrift"
Layout = 1
dg=Day(Date())
md=Month(Date())
yyyy=YEAR(Date())
Oprettet = yyyy&"-"&md&"-"&dg

og lidt længere nede indsættes værdier i databasen:

Sql = "INSERT INTO Brugere(Brugernavn, Password, osv.)"
SQL = SQL & "Values("
    SQL = SQL & "'" & Brugernavn & "',"
    SQL = SQL & "'" & Password & "',"
        osv.

Hvordan kan koden med de + 14 dage skrives i min eksisterende kode? Virkelig på forhånd tak.
Avatar billede fennec Nybegynder
29. marts 2007 - 11:46 #9
Nemmeste er bare at ændre din dags dato til +14 dage:

dg=Day(Date()+14)
md=Month(Date()+14)
yyyy=YEAR(Date()+14)

resten burde være som det er.
Avatar billede mettecarsten Nybegynder
29. marts 2007 - 11:53 #10
Sådan fennec, helt perfekt :-) Tusind tak for hjælpen. Smid et svar og du har fuldt fortjent pointene.
Avatar billede fennec Nybegynder
29. marts 2007 - 12:05 #11
.o) <-- One Eyed Jack
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester