Avatar billede nidkin Nybegynder
13. august 2003 - 14:26 Der er 7 kommentarer og
1 løsning

Ændring af dato og tidsformat

Hvorledes ændre jeg datoformat på opsætningen af en MS SQL server. Windows er sat op til at køre med dd-mm-åååå men sql-serveren tror alligevel stadig at det er mm-dd-åååå.

Nogen der kan svare på hvor jeg ændrer dette?
Avatar billede nidkin Nybegynder
13. august 2003 - 14:26 #1
og vi snakker om en MS SQL-server 2000
Avatar billede bennytordrup Nybegynder
13. august 2003 - 14:31 #2
Hvorfor vil du have ændret det?

SQL Server gemmer i et internt format. Skal du sammenligne datoer i form at konstanter mod SQL Serverens felter, skal du bruge ISO-formatet (yyyymmdd).

Visning af datoer (og dermed håndtering af formatet) er IKKE en opgave for SQL Serveren men derimod det klientprogram (VB, Delphi, ASP eller whatever), der skal præsentere dataene. Dermed kan du have forskellige præferencer omkring datoformater ud fra brugernes ønsker.
Avatar billede kustoden Nybegynder
13. august 2003 - 14:46 #3
Du kan ændre datoformatet ifm. input til og output fra SQL server med Convert (se Books Online) men i øvrigt har benny,tordrup ret, det er klientprogrammet, der skal styre det, og også, hvis du vil konvertere, klientprogrammet, der enten direkte eller via en SP skal kalde Convert().
Avatar billede bennytordrup Nybegynder
13. august 2003 - 14:48 #4
kustoden >> SQL Server skal ikke blandes ind i det overhovedet. Hverken via kald eller via stored procedures.

De sprog, jeg nævnte, har alle en formatterings-kommando, som fungerer udmærket. Hvorfor skal serveren belastes med andet end at føde klienten med de nødvendige data?
Avatar billede kustoden Nybegynder
13. august 2003 - 14:59 #5
Benny. Du har fuldstændig ret.

Vi kan også, for at gøre det, du skrev endnu tydeligere, pointere at der overhovedet ikke er nogen sammenhæng mellem klientenmaskinens opsætning af datoformat og SQL Server's.

Men hvis man, af den ene eller den anden årsag, vil lade SQL Server gøre det, kan Convert() bruges.

Der er også lidt religion i det, for jeg er helt klart af den overbevisning at jo mere, du kan få DB serveren til at lave, jo mere fleksibel er du mht. ændringer, vedligeholdelse, platforme m.m. front end.

(Skal man afviklet mest muligt front end eller back end?)
Avatar billede bennytordrup Nybegynder
13. august 2003 - 15:06 #6
Prøv at gennemføre den politik på en SQL Server med databaser med millioner af poster per tabel i flere tabeller og flere tusinde brugere på.

For at tage en reklame med i brug, så bør man lave tingene efter Danske Banks reklame: Gør det, du er bedst til.
Avatar billede kustoden Nybegynder
13. august 2003 - 15:23 #7
Been there, done that.

Hvis du alternativ vælger at lade selv samme scenario det afvikle på f.eks. en IIS med ASP kokser det helt.

(Bortset fra det, så er MS-platformene ikke beregnet til den slags)

Jeg synes i øvrigt, at du bliver lidt ufin i dit tonefald.
Avatar billede bennytordrup Nybegynder
13. august 2003 - 15:32 #8
Jeg mener nu ikke, at jeg blev ufin i tonefaldet. Men som du selv skriver, så kan det jo nærme sig religionskrig.

EOD
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
Computerworld tilbyder specialiserede kurser i database-management

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