21. juli 2004 - 10:16Der er
5 kommentarer og 2 løsninger
Dato problemer
Jeg har nogle spøjse problemer med dato indsætning
SQL2000 er konfigureret til Danish_Norwegian_CI_AS
Og når jeg prøver følgende: INSERT INTO dato (dato) VALUES (CAST(31/03/71 AS smalldatetime)) Er resultatet i tabellen: 01-01-1900
Hvis jeg ændrer min SQL til: INSERT INTO dato (dato) VALUES (CAST(31-03-71 AS smalldatetime))
Får jeg resultatet: Server: Msg 8115, Level 16, State 2, Line 1 Arithmetic overflow error converting expression to data type smalldatetime. The statement has been terminated.
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Uanset hvordan, SQL Server gemmer og viser datoformater, vil den altid genkende og acceptere ISO-formatet (yyyymmdd) og konvertere dette korrekt til sit interne format.
ok... nu har jeg fundet frem til, at den GERNE vil modtage følgende:
INSERT INTO dato (dato) VALUES (CAST('03/31/71' AS smalldatetime)) og når jeg kigger i DBen bagefter vises den sådan her: 31-03-1971 og det er også rigtigt, men hvorfor skal jeg så smide den ind på UK maner for at den godtager det... DBen ER sat til dansk! Skulle jeg så ikke også kunne følgende: INSERT INTO dato (dato) VALUES (CAST('31-03-1971' AS smalldatetime))
SQL Serveren gemmer IKKE datoen i formatet 31-03-1971! Den gemmer det i sit eget format (AFAIR en kommatalsværdi, hvor heltalsdelen er datoen og kommadelen tidspunktet).
At du ser datoen som 31-03-1971 skyldes, at du har sat SQL Server til at VISE i et bestemt format.
Som jeg skrev: Brug ISO-formatet, når du angiver datokonstanter. Det format genkendes altid!
Du kan bruge convert for at være eksplicit med dit format. Hvis du tilgår din database fra ado kan du bruge en ado parameter, og på den måde holde datatyper rene.
Synes godt om
Ny brugerNybegynder
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.