Just nu i M3-nätverket
Jump to content

datumproblematik


hasse_78

Recommended Posts

 

Har ett datum av typen i min selectsats

TO_DATE('2004-06-01', 'yyyy-mm-dd')

 

 

för att lägga till och dra ifrån månader skriver man ju exempelvis

ADD_MONTHS(TO_DATE('2004-06-01', 'yyyy-mm-dd'),-6)

 

i min sql varierar strängen '2004-06-01' (är en inparameter), det kan med mao stå vilket datum som helst där.

 

Jag vill allltid dra bort så mycket så att datumet blir i början av året har ni

något tips hur jag kan koda det?

 

Exempel

ADD_MONTHS(TO_DATE('2004-07-01', 'yyyy-mm-dd'),-7)

ADD_MONTHS(TO_DATE('2003-11-01', 'yyyy-mm-dd'),-11) osv men hur skriver jag för att få min sqlsats att anpassa sig till att alltid precis ta bort så mycket som jag vill.?

 

 

 

Link to comment
Share on other sites

Mikael Ericsson

Du kan ta de fyra första positionerna i inparametern och lägga till '-01-01' till det värdet.

 

Helt otestat, vet inte vilken databas du använder:

 

TO_DATE(LEFT('2004-07-01',4)+'-01-01','yyyy-mm-dd')

 

[inlägget ändrat 2004-07-19 16:06:42 av Mikael Ericsson]

Link to comment
Share on other sites

Kör inte oracle (verkar vara det du använder) men funkar det inte om du drar av månaden från datumet som du skickar med som inparameter?

 

Exempel med hårdkodade datum:

ADD_MONTHS(TO_DATE('2004-07-01', 'yyyy-mm-dd'),-(TO_CHAR('2004-07-01', 'mm')))

 

/OZn

_______________________________________________________

Microchips - De små potatisflingorna du äter allra sist i chipspåsen

 

Link to comment
Share on other sites

Archived

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



×
×
  • Create New...