Avatar billede Webnoob Juniormester
21. april 2017 - 21:07 Der er 6 kommentarer og
1 løsning

Data format

Skal jeg ikke lige lægge ud med at sige jeg er meget ny til sql.
Jeg har lavet en database over medlemmer af en forening et af felterne er fødselsdag.
Til at indtaste data for medlemmerne har jeg bare brugt en simple insert Query, men for at kunne få fødselsdagene ind i databasen har jeg måtte skrive dem omvendt fx 1978-10-01 hvor vi normalt skriver dem sådan her 01-10-1978.
Hvordan får jeg datoen skrevet rigtig ind i databasen når jeg bruger min Query?
Avatar billede arne_v Ekspert
21. april 2017 - 21:25 #1
Hvad er problemet med YYYY-MM-DD?
Avatar billede Webnoob Juniormester
21. april 2017 - 21:32 #2
Ja det kan der været noget om.
Grunden til at jeg spøger, er fordi jeg antager det ikke er korrekt.
Men lige nu sidder jeg og leger med at finde en der har fødselsdag og det virker, så det skal måske bare stå sådan i databasen, men hvordan viser jeg det så rigtigt på fx en hjemmeside, som vi er vant til at se det.

Hele mit grundlag for at spørge er også fordi jeg gerne vil lave en SP der sender en mail til mig når der er 7 dag til en har fødselsdag.
Avatar billede jakobdo Ekspert
21. april 2017 - 22:19 #3
datetime feltet i mysql, anvender dette format, som arne_v er inde på:

1978-10-01, altså YYYY-MM-DD

Og du kan jo sagtens modtage datoer i formattet:

DD-MM-YYYY og "skrive" disse om, inden de indsættes og du kan ligeledes omskrive dem igen, når du trækker data ud og skal vise dem igen.

Direkte i mysql kan du anvende: DATE_FORMAT(NOW(),'%d-%m-%Y') eller andre formatter, se her: https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_date-format
Avatar billede arne_v Ekspert
22. april 2017 - 00:30 #4
MSSQL <> MySQL
Avatar billede terry Ekspert
22. april 2017 - 09:26 #5
If you try to insert a date with this format 01-10-1978, SQL server will think it is MM-DD-YYYY format because this is the USA date format and one of the acceptable SQL date formats. So you need to use the US format or for example the ISO (international)standard.
https://technet.microsoft.com/en-us/library/ms190977(v=sql.90).aspx
Avatar billede terry Ekspert
22. april 2017 - 09:34 #6
Dates are not stores in the dB in the format you enter them, they are always stored in the same format
http://blogs.lessthandot.com/index.php/DataMgmt/DataDesign/how-are-dates-stored-in-sql-server/
Not sure if this link is still correct.
Avatar billede jakobdo Ekspert
22. april 2017 - 16:59 #7
Arne_v: Den overså jeg da totalt. :(
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

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