/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Problem med datokonvertering fra Sybase
Fra : Linda Møller


Dato : 02-10-08 14:06

Jeg har overtaget en sybase-database, hvor jeg i en tabel har en
datokolonne der indeholder et mix af datoformater - dels
DD-MM-YYYY, dels DD-MM-YYYY HH:MI:SS.
F.eks. har jeg enheder der er opdateret 01-01-2008 og enheder der
er opdateret 01-01-2008 15:10:42

For at kunne selecte på en given dato har jeg forsøgt at selecte
substring(dato,1,10), men jeg får så returneret dato i formatet
MON-DD-YYYY

SELECT CustInstr.lastUpdDate AS dato1,
substring(CustInstr.lastUpdDate,1,10) AS dato2 FROM CustInstr
returnerer
dato1: 01-01-1998 15:10:44
dato2: Jan 1 1998

Det fremgår ikke om "konverteringen" af datoen fra "01-01-1998"
til "Jan 1 1998" stammer fra databasen eller fra min asp.
Nogen her der har Sybase-erfaring, eller som ved hvor jeg kan "gå
hen"?

PFT
Mvh
Linda

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Erling Sørensen (02-10-2008)
Kommentar
Fra : Erling Sørensen


Dato : 02-10-08 19:03

"Linda Møller" <lha_privat@yahoo.com> skrev i en meddelelse
news:48e4c72c$0$90268$14726298@news.sunsite.dk...

Hej Linda
Jeg er ikke sikker på jeg helt forstår hvad dit problem er.
Er det et problem at datoerne er registreret forskelligt i DB, eller er det
"bare" fordi du gerne vil have præsenteret datoer ens i dit grafiske
interface?

> Jeg har overtaget en sybase-database...
Lad det være sagt med det samme: Jeg ved absolut intet om Sybase.

> dato1: 01-01-1998 15:10:44
> dato2: Jan 1 1998

Hvis dit problem er præsentation, kunne du prøve at se på FormatDateTime
funktionen i VB Script
http://www.w3schools.com/vbscript/func_formatdatetime.asp

Response.write FormatDateTime(Dato1,1))
Response.write FormatDateTime(Dato2,1))
Dette skulle gerne give output i samme format, uanset om det er registreret
på den ene eller den anden måde i databasen.
Prøv dig evt. lidt frem med de forskellige parametre til funktionen.

En anden funktion som du måske kunne få glæde af er Cdate
http://www.w3schools.com/vbscript/func_cdate.asp

mvh
Erling



Stig Johansen (02-10-2008)
Kommentar
Fra : Stig Johansen


Dato : 02-10-08 19:07

Erling Sørensen wrote:

> Lad det være sagt med det samme: Jeg ved absolut intet om Sybase.

Det gør jeg heller ikke, men MS SQLServer er oprindeligt Sybase,
købt/licensed af Microsoft.

Godt nok har MS sat sit 'præg' på den fra 7.0 og fremefter, men mon ikke man
kan antage at de basalt set stadig er 'ens'.

--
Med venlig hilsen
Stig Johansen

Linda Møller (03-10-2008)
Kommentar
Fra : Linda Møller


Dato : 03-10-08 07:57

Erling Sørensen wrote in dk.edb.internet.webdesign.serverside.asp:
> "Linda Møller" <lha_privat@yahoo.com> skrev i en meddelelse
> news:48e4c72c$0$90268$14726298@news.sunsite.dk...
>
> Hej Linda
> Jeg er ikke sikker på jeg helt forstår hvad dit problem er.
> Er det et problem at datoerne er registreret forskelligt i DB, eller er det
> "bare" fordi du gerne vil have præsenteret datoer ens i dit grafiske
> interface?
>
> > Jeg har overtaget en sybase-database...
> Lad det være sagt med det samme: Jeg ved absolut intet om Sybase.
>
Det gør jeg desværre heller ikke - nyt arbejde => nye udfordringer...

> Hvis dit problem er præsentation, kunne du prøve at se på FormatDateTime
> funktionen i VB Script
Præsentationen er ikke problemet - det er udtrækket fra databasen der driller.

Jeg vil finde alle med upddato = (f.eks) 01-01-2008 og får returneret dem der
står med eksakt den dato, men ikke dem med datoen 01-01-2008 14:12:41 osv. - og
problemet er så at få konverteret 01-01-2008 14:12:41 til 01-01-2008 UDEN at få
den konverteret til 01-JAN-2008 - som jo heller ikke er det samme som
01-01-2008....
Men - jeg prøver i lidt forkellige fora - jeg er vel ikke den eneste med det
problem...

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Ukendt (03-10-2008)
Kommentar
Fra : Ukendt


Dato : 03-10-08 10:37


"Linda Møller" <lha_privat@yahoo.com> skrev i en meddelelse
news:48e5c240$0$90271$14726298@news.sunsite.dk...
> Erling Sørensen wrote in dk.edb.internet.webdesign.serverside.asp:
>> "Linda Møller" <lha_privat@yahoo.com> skrev i en meddelelse
>> news:48e4c72c$0$90268$14726298@news.sunsite.dk...
>>
>> Hej Linda
>> Jeg er ikke sikker på jeg helt forstår hvad dit problem er.
>> Er det et problem at datoerne er registreret forskelligt i DB, eller er
>> det
>> "bare" fordi du gerne vil have præsenteret datoer ens i dit grafiske
>> interface?
>>
>> > Jeg har overtaget en sybase-database...
>> Lad det være sagt med det samme: Jeg ved absolut intet om Sybase.
>>
> Det gør jeg desværre heller ikke - nyt arbejde => nye udfordringer...
>
>> Hvis dit problem er præsentation, kunne du prøve at se på FormatDateTime
>> funktionen i VB Script
> Præsentationen er ikke problemet - det er udtrækket fra databasen der
> driller.
>
> Jeg vil finde alle med upddato = (f.eks) 01-01-2008 og får returneret dem
> der
> står med eksakt den dato, men ikke dem med datoen 01-01-2008 14:12:41
> osv. - og
> problemet er så at få konverteret 01-01-2008 14:12:41 til 01-01-2008 UDEN
> at få
> den konverteret til 01-JAN-2008 - som jo heller ikke er det samme som
> 01-01-2008....
> Men - jeg prøver i lidt forkellige fora - jeg er vel ikke den eneste med
> det
> problem...

Lad det være sagt med det samme: Jeg ved absolut heller intet om Sybase.
Kan du ikke ændre på felttypen, og give den det format du ønsker...
Bjarne



Stig Johansen (03-10-2008)
Kommentar
Fra : Stig Johansen


Dato : 03-10-08 12:59

Linda Møller wrote:

> Jeg vil finde alle med upddato = (f.eks) 01-01-2008 og får returneret dem
> der står med eksakt den dato, men ikke dem med datoen 01-01-2008 14:12:41

Det er lidt noget sludder du skriver her, 01-01-2008 14:12:41 er også eksakt
_datoen_ 01-01-2008, blot er der tidspunkt på.

Det du kalder en 'eksakt' dato er _præcis_ kl. 24:00:00 eller 00:00:00 om du
vil.

Du skriver intet om feltdefinitionen af din dato, men hvis det er en
varchar(x) så bør du lave det om, og hvis det er en datetime, så brug ISO
format,
Eksakt 'dato':
SELECT whatever WHERE lastupdate = '2008-01-01'
Samme dato:
SELECT whatever WHERE lastupdate >= '2008-01-01' AND lastupdate <
'2008-01-02'

Prøv at skrive hvordan lastupdate er defineret i din database.

--
Med venlig hilsen
Stig Johansen

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste