Avatar billede idiotbarn Nybegynder
27. maj 2003 - 20:25 Der er 10 kommentarer og
1 løsning

Dansk dato til am. SQL

Jeg har en form hvor man kan skrive en dato, fx:
02-07-2003 (2.juli 2003) Problemet er nu at jeg ikke kan gå denne dato ind i den amrikanske mySQL database, hvor formatet skal være YYYY-MM-DD, jeg syntes jeg har prøvet en masse, men jeg har ikke nogen ide om hvordan jeg løser det her problem...feltet den skal ind i er et DateTime felt.
Det er altid det forkerte format, oftest skriver den d. 7 feb istedet for 2. juli...
Avatar billede terry Ekspert
27. maj 2003 - 20:34 #1
the database stores the date in th esame format NO MATTER what format it is set to. It is only visual.

It is always best to use the US format MM/DD/YYYY or YYYY/MM/DD
Avatar billede twm Nybegynder
27. maj 2003 - 20:36 #2
Lav en funktion så det passer med mysql formatet:
function mysqlDate(szBuffer)
  mysqlDate = Right(szBuffer,4)&"-"& Mid(szBuffer,4,2) &"-"&Left(szbuffer,2)
end function


Response.Write mysqlDate("12-02-2003")
Avatar billede idiotbarn Nybegynder
27. maj 2003 - 20:38 #3
Hvis jeg bare sætter det direkte ind...altså sætter 02-07-2003 ind kommer der til at stå 2003-07-20?!?!
Avatar billede idiotbarn Nybegynder
27. maj 2003 - 20:39 #4
hvis jeg bare laver det om til et tekstfelt, kan jeg da ikke bruge det til at sammenligne datoer med,vel?
Avatar billede hossein Nybegynder
27. maj 2003 - 20:41 #5
du bruger dette funktion:
Function FormatMinDato(Datoen)
    Dim strYYYY
    Dim strMM
    Dim strDD

        strYYYY = CStr(DatePart("yyyy", Datoen))

        strMM = CStr(DatePart("m", Datoen))
        If Len(strMM) = 1 Then strMM = "0" & strMM

        strDD = CStr(DatePart("d", Datoen))
        If Len(strDD) = 1 Then strDD = "0" & strDD

        FormatMinDato = strYYYY & "-" &  strMM & "-" & strDD

End Function
%> 
Også når du skal skrive ud:
<% = FormatMinDato(rs.Fields("dato")) %>

det virker med MSAccess, prøv
Avatar billede twm Nybegynder
27. maj 2003 - 20:42 #6
nej, men har du et datetime felt i en mysql database kan du godt bruge ovenstående ex:
strSQL = "UPDATE dintabel SET ditdatofelt='"&mysqlDate("12-02-2003")&"';"
Avatar billede hossein Nybegynder
27. maj 2003 - 20:42 #7
Nej det bliver besværligt.
Og skift til m$Access :)
Avatar billede idiotbarn Nybegynder
27. maj 2003 - 20:54 #8
Jeg brugte twm's løsning...til helvede med de dato formater :) Tak for hjælpen
Avatar billede twm Nybegynder
27. maj 2003 - 20:57 #9
Det var så lidt! ;)
Avatar billede idiotbarn Nybegynder
27. maj 2003 - 21:08 #10
HMF...hvis vi lige kan nå en mere? Jeg har:

SQL="Select * from Koncerter where Id_Dato<" & Date & " order by Id_Dato DESC"

Den viser bare alle? Jeg har ´prøvet med Session.LCID=1033, men uden held?
Avatar billede twm Nybegynder
27. maj 2003 - 21:59 #11
Jeg forstår ikke helt hvad du mener med session.LCID=1033?
Har du prøvet med:
SQL="Select * from Koncerter where Id_Dato< '" & Date & "' order by Id_Dato DESC"
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