Domanda

Sto usando la sintassi come {?EndDate} - INTERVAL '1' YEAR per un po ', e sapevo che c'era un problema che stavo andando a colpire alla fine, e ho appena colpito. Ho cercato di fare DATE '2010-12-31' - INTERVAL '6' MONTH, ed è soffocato perché non c'è 31 giugno. Qual è il modo più efficace e coerente per il codice questo? Mentre rintracciare la persona che ha preso la decisione di farlo in questo modo sarebbe più soddisfacente, è impraticabile. : -)

È stato utile?

Soluzione

Non sono sicuro se c'è un coerenti di modo, in quanto dipende certamente su quello che qualcuno pensa è di 6 mesi. Eppure, imho, è lecito ritenere che add_months è un modo standard (almeno in Oracle) per sottrarre o aggiungere mesi:

select add_months(DATE '2010-12-31',-6)  from dual;

Questo restituisce espressione 30 giugno 2010 (che è l'ultimo giorno di quel mese (come è il 31 di dicembre).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top