06. november 2006 - 16:35Der er
4 kommentarer og 1 løsning
1000 dele sek
Jeg har et dato feldt i en MS-SQL database, data kan f.eks. være: "2006-11-06 16:24:23.000" er der nogen som ved hvad de 3 sidste cifre står for ? Hvis de er 1000 sek, hvordan får man så ( via VB6 ) indsat data ( værdien er 000 i alle mine record ). jeg kender funktionen FORMAT med den kan jeg f.eks hente "YYYY-MM-DD hh:nn:ss" værdier. men hvordan læser jeg de 3 sidste cifre ?
Jeg gætter lidt her, men iflg. manualen er det ganske rigtigt tusinddele sekunder. Det kan specificeres på to måder:
Milliseconds can be preceded by either a colon (:) or a period (.). If preceded by a colon, the number means thousandths-of-a-second. If preceded by a period, a single digit means tenths-of-a-second, two digits mean hundredths-of-a-second, and three digits mean thousandths-of-a-second. For example, 12:30:20:1 indicates twenty and one-thousandth seconds past 12:30; 12:30:20.1 indicates twenty and one-tenth seconds past 12:30.
Iflg. samme manual skal man specificere "ms" i formatet for at få millisekunderne med: "YYYY-MM-DD hh:nn:ss.ms".
Mht. at få registreret din timestamp med millisekund angivelse, så vil jeg tro, at problemet er, at VB6' NOW funktion ikke understøtter millisekund-angivelser. Hvis du vil have dem med, er du vist nødt til at bruge serverens GETDATE() eller CURRENT_TIMESTAMP funktioner til at registrere værdien (det vil så være serverens tid, ikke VB6 klientens):
UPDATE table SET datetimefield = CURRENT_TIMESTAMP
eller evt. sætte feltets default value til CURRENT_TIMESTAMP
Da jeg pt. ikke har adgang til MS SQL server, er det dog lidt af et gæt om det virkelig vil indsætte tusinddele, sorry.
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.