Umiddelbart tror jeg ikke at du kan "formater" datoen med mindre man caster den til "en strenge" og klipper i denne (jeg tror det er forholdvis "bøvlet"), men det er ikke noget jeg har rodet med da jeg "formatere" den i Delphi i stedet.
Jeg kunne godt formatere den med C++, men datoen vil vel komme ud i det format, der er tilknyttet OS's sprog? Det nytter jo ikke noget, at jeg finder måneden med tegn 4 og 5 i strengen, hvis dette er dagen i et engelsk OS ;)
I Delphi vil jeg gøre noget a'la: <SNIP> var DatoVar: TDateTime; begin DatoVar := qEnEllerAndenQuery.FieldByName('FeltNavn').AsDate; end; </SNIP>
Som du kan se læser jeg ikke dato'en som en streng, men jeg er ikke klar over om du har tilsvarende muligheder i C++.
Igen er jeg ikke sikker på IB5.5, men i FB kan man Caste en dato til en char, og så vil den altid blive formateret i ISO format (CCYY-MM-DD): <SNIP> select cast(FeltNavn as Char(10)) as DateStr </SNIP>
Dette burde give en streng som "2004-11-29" (jeg gætter således på at dato altid trækkes ud i dette formate) !?
Jo vil tro at vi skal have den helt store Jørgen Klevin på banen (at klippe og klistre). Jeg vil tro at du skal kombinene brugen af CAST og EXTRACT: <SNIP> select Cast(Extract(YEAR from DataVar) as Char(4)) || '.' || Cast(Extract(MONTH from DataVar) as Char(2)) || '.' || Cast(Extract(DAY from DataVar) as Char(2)) from TabelNavn; </SNIP>
Sad lige og kiggede på Google, her fremgår det at dato'en du udtrækker fra databasen fysisk er et binært format, så det er din C++ der formatere dem som "29-NOV-2004"
Det kan det vist ikke være, for jeg kørte forespørgslen i ISQL. C++ viser dem som 29-11-2004. Men hvis jeg bruger dette format til at udtrække med, kommer der ingen match.
"Men hvis jeg bruger dette format til at udtrække med, kommer der ingen match" ? Prøver du at select på baggrund af en bestemt dato ?
Hvis du skriver "select * from tabel where dato = xxx", så er der flere forsk måder at skrive din dato på. Hvis du bruger "/" så skal datoen skrives er US-standard "mm/dd/yyyy" og hvis du i stedet bruger "." så er der efter formen "dd.mm.yyyy". Den sidste mulighed med "-" er netop med månedsnavnet "dd-mmm-yyyy".
Ja, det læste jeg godt på en side, men jeg var ikke klar over, om det altid forholder sig på de tre måder. Dermed skal jeg i hvertfald have formateret datoen lidt, før jeg selekterer.
Jeg går ud fra, at det er samme formater, der anvendes ved inserts?
Jeg skal ikke kunne sige om IB5.5 opfører sig væsentlig anderledes end FB1.5, men det lyder (i mine øre) ikke rigtigt at du kun kan få din select til at virke med '29-nov-2004' - Har du prøvet noget a'la select * from Tabel where DatoFelt = '11/29/2004' (og vi er HELT enige om at der er tale om et felt af typen DATO ?)
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.