Just nu i M3-nätverket
Jump to content

Oracle : Datumfunktioner


Haren

Recommended Posts

Hej!

 

Jag håller på att bli tokig...

Jag vill i en SQL-sats jämföra två datum, som man gör i vanliga SQL (MS SQL Server) med funktionen DATEDIFF()... men den funkar tydligen inte i Oracle? Hur gör man?

 

SELECT datediff(month,'2002-02-02','2002-05-02') i SQL Server ger skillnaden i månader, i detta fall 3. Jag vill alltså göra samma sak fast i Oracle.

 

Komplettering:

Inte ens GETDATE() eller DATEADD() fungerar i Oracle verkar det som.

 

Tack!

 

-------------------------------

/HAREN

"And never start a sentence with a conjunction"

 

 

 

[inlägget ändrat 2003-03-04 14:30:23 av Haren]

Link to comment
Share on other sites

hitta några datumfunktioner i "lär dig sql på 3 veckor boken" kan inte förklara va dom gör men googla på dom så kanske du hittar något.

 

 

SYSDATE()

MONTHS_BETWEEN(startdatum,slutdatum)

ADD_MONTHS(datum,mander)

LAST_DAY(DATUM)

NEW_TIME()

NEXT_DAY()

 

datumdatatyp datetime 'Jan 1, 1753'

hoppas det kan hjälpa något..

 

[inlägget ändrat 2003-03-04 15:08:28 av plweb.nu]

Link to comment
Share on other sites

Tack för hjälpen... jag tror det har klarnat ... =)

 

-------------------------------

/HAREN

"And never start a sentence with a conjunction"

 

 

 

Link to comment
Share on other sites

Du skulle också kunna testa standard SQL-sättet:

 

SELECT (date'2002-02-02' - date'2002-05-02')month(5)

 

month(5) innebär att du vill ha resultatet i månader, max femsiffrigt.

 

 

 

 

Link to comment
Share on other sites

Magnus Ahlkvist
Inte ens GETDATE() eller DATEADD() fungerar i Oracle verkar det som

 

GETDATE() är MSSQL-specifik. Dess ANSI-ekvivalent är CURRENT_TIMESTAMP

 

DATEADD kan jag inte ANSI-motsvarigheten för, men det lär väl kors-referens-tabeller lite här och var för MSSQL/ANSI, eftersom MS tidigare var rätt dåliga på att implementera ANSI-funktionerna och istället valde egna konstruktioner. Numera implementerar MS ANSI-funktionerna och därmed finns ingen anledning att använda CONVERT istället för CAST, eller GETDATE() istället för CURRENT_TIMESTAMP osv.

 

 

--

Snäll ibland. Rättvis nästan jämt. Elak för det mesta.

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...