Avatar billede cbm Nybegynder
22. oktober 2002 - 09:14 Der er 16 kommentarer og
1 løsning

Dansk dato-tid til usa tid

Hejsa

Jeg skal have konverteret et dansk dato format til et amerikansk datoformat... altså fra
DK: 22-10-2002 12:00:00

til

USA: 2002-10-22 12:00:00

Nok noget med substring.. men jeg kan ikke lige få det til at funke..
Avatar billede terry Ekspert
22. oktober 2002 - 09:28 #1
The date format in the databse is ALWAYS the same it is only th eway it is view that will change. This depends on the PC's regional settings.

So IF you change your regional settings to US you will see that the date HAS changed!

You can also use FORMAT (YourDateField, ""Long Date") This will display it in the LONG DATE format also defined in the regional settings.
Avatar billede bennytordrup Nybegynder
22. oktober 2002 - 09:28 #2
convert(datetime, GetDate(), 110)

giver 10-22-2002 12:00:00.000

formatet, som du vil have, er ikke USA (ifølge BOL), men ODBC Canonical:

convert(datetime, GetDate(), 120)
Avatar billede bennytordrup Nybegynder
22. oktober 2002 - 09:28 #3
Som Terry skriver, det er visning only.
Avatar billede terry Ekspert
22. oktober 2002 - 09:29 #4
FORMAT(YourDateField, "YYYY-MM-DD hh:mm:ss") may alos do the trick
Avatar billede terry Ekspert
22. oktober 2002 - 09:30 #5
Opps, thought I was in Access here :o)
Avatar billede bennytordrup Nybegynder
22. oktober 2002 - 09:31 #6
8-)

Spell check :-)
Avatar billede cbm Nybegynder
22. oktober 2002 - 09:32 #7
update sysdba.activity set alarmtime = dateadd(mi, -15, cast('substring('23-10-2002 15:00:00',8,4) &'-'& substring('23-10-2002 15:00:00',4,2) & '-'& substring('23-10-2002 15:00:00',1,2) &' '& substring('23-10-2002 15:00:00',12,8)' as datetime)) where ActivityID = 'V6UJ9A000BQY'



Det er denne streng der skal "do the trick" men når jeg har dd-mm-yyyy hh:mm:ss virker den ikke så jeg skal have den lavet om.. I SQL strengen til yyyy-mm-dd hh:mm:ss

Det i skriver er sikkert rigtig nok, men det er ikke lige det jeg leder efter.. tror jeg

Hvordan får jeg gjort det? :)
Avatar billede bennytordrup Nybegynder
22. oktober 2002 - 09:35 #8
Hvor får du strengen '23-10-2002 15:00:00' fra? Ligger det i en datetime variabel?
Avatar billede cbm Nybegynder
22. oktober 2002 - 09:35 #9
ja
Avatar billede cbm Nybegynder
22. oktober 2002 - 09:35 #10
og jeg har ingen mulighed for at konvertere det til det jeg skal bruge i det sprog jeg koder i :/ desværre
Avatar billede bennytordrup Nybegynder
22. oktober 2002 - 09:36 #11
Er det ren SQL, eller koder du et andet sted. Hvis et andet sted, hvor
Avatar billede cbm Nybegynder
22. oktober 2002 - 09:39 #12
Noget der hedder SalesLogix ... det bruger en MEGET afkortet version af VB script.. og har taget alt date behandling ud. Så derfor skal jeg gøre det i sql.
Avatar billede bennytordrup Nybegynder
22. oktober 2002 - 09:40 #13
update sysdba.activity set alarmtime = dateadd(mi, -15, cast('substring('23-10-2002 15:00:00',7,4) &'-'& substring('23-10-2002 15:00:00',4,2) & '-'& substring('23-10-2002 15:00:00',1,2) &' '& substring('23-10-2002 15:00:00',12,8)' as datetime)) where ActivityID = 'V6UJ9A000BQY'
Avatar billede bennytordrup Nybegynder
22. oktober 2002 - 09:41 #14
Bortset fra det, det var måske en mulighed for dig at bruge stored procedures på SQL Server til at håndtere disse ting. Det kunne spare dig for al den streng manipulation.
Avatar billede cbm Nybegynder
22. oktober 2002 - 09:44 #15
yeah... det er faktisk rigtigt... det havde jeg selvf ik lige tænkt på
men tak for hjælpen... jeg tror det virker nu :)
Avatar billede cbm Nybegynder
22. oktober 2002 - 10:04 #16
men jeg har bare ikke mulighed for at lave en SP da jeg har MANGE remote klienter der kører MSDE lokalt og syncer op i mod min server ... så skal alle disse have den SP ud... og det holder desværre ikke :/

Fejl
Invalid operator for data type. Operator equals boolean AND, type equals varchar.
I følgende...

update sysdba.activity set alarmtime = dateadd(mi, -15, cast((substring('23-10-2002 15:00:00',7,4) &'-'& substring('23-10-2002 15:00:00',4,2) & '-'& substring('23-10-2002 15:00:00',1,2) &' '& substring('23-10-2002 15:00:00',12,8)) as datetime)) where ActivityID = 'V6UJ9A000BQY'
Avatar billede bennytordrup Nybegynder
22. oktober 2002 - 10:22 #17
Har du en format i det SalesLogix?
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