hasse_78 Posted July 19, 2004 Share Posted July 19, 2004 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 More sharing options...
Mikael Ericsson Posted July 19, 2004 Share Posted July 19, 2004 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 More sharing options...
-OZn- Posted July 19, 2004 Share Posted July 19, 2004 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 More sharing options...
hasse_78 Posted July 20, 2004 Author Share Posted July 20, 2004 löste det på liknande sätt med substr, tack och bock för er hjälp Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.