sql中怎样取当前日期及前12月的日期
如题 小弟遇到一难题 就是想在数据库中查询出当前的日期(格式:2012-04) 及前12个月的日期 并在一列中输出 例如格式
日期
2012-04
2012-03
2012-02
2012-01
2011-12
2011-11
2011-10
2011-09
2011-08
2011-07
2011-06
2011-05
[解决办法]
to_char(sysdate,'yyyy-mm') 这个可以取到当前日期
[解决办法]
如果要一次输出,那么需要用procedure。
或者还有个办法,我们有一个时间表,里面存了20年的时间信息。
就可以用select to_char(column, 'yyyy-mm') from xx where 日期范围(但前日期前12月)
[解决办法]
SELECT TO_CHAR(SYSDATE,'YYYY-MM') YM, TO_CHAR(ADD_MONTHS(SYSDATE,-1),'YYYY-MM') YM1,TO_CHAR(ADD_MONTHS(SYSDATE,-2),'YYYY-MM') YM2,TO_CHAR(ADD_MONTHS(SYSDATE,-3),'YYYY-MM') YM3,TO_CHAR(ADD_MONTHS(SYSDATE,-4),'YYYY-MM') YM4,TO_CHAR(ADD_MONTHS(SYSDATE,-5),'YYYY-MM') YM5,TO_CHAR(ADD_MONTHS(SYSDATE,-6),'YYYY-MM') YM6,TO_CHAR(ADD_MONTHS(SYSDATE,-7),'YYYY-MM') YM7,TO_CHAR(ADD_MONTHS(SYSDATE,-8),'YYYY-MM') YM8,TO_CHAR(ADD_MONTHS(SYSDATE,-9),'YYYY-MM') YM9,TO_CHAR(ADD_MONTHS(SYSDATE,-10),'YYYY-MM') YM10,TO_CHAR(ADD_MONTHS(SYSDATE,-11),'YYYY-MM') YM11FROM DUAL;
[解决办法]
SELECT TO_CHAR(SYSDATE,'YYYY-MM') YM FROM DUALUNION ALLSELECT TO_CHAR(ADD_MONTHS(SYSDATE,-1),'YYYY-MM') YM1 FROM DUAL