Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle SQL特殊句点格式_Sql_Oracle - Fatal编程技术网

Oracle SQL特殊句点格式

Oracle SQL特殊句点格式,sql,oracle,Sql,Oracle,例如,我有一个格式为YYYYMM的特殊会计期间 2015年2月是2015002年 2014年11月是2014011年 我需要做减法从期间,2个月前从2015002是2014012,但我不能这样做 SELECT '2015001' - 2 FROM DUAL 我该怎么做呢?您应该先将其转换为日期,然后减去月份,再转换回您需要的格式 with x(y) as ( select '2015002' from dual ) select y, to_date(y,'YYYY"0"MM

例如,我有一个格式为YYYYMM的特殊会计期间

2015年2月是2015002年

2014年11月是2014011年

我需要做减法从期间,2个月前从2015002是2014012,但我不能这样做

SELECT '2015001' - 2 FROM DUAL

我该怎么做呢?

您应该先将其转换为日期,然后减去月份,再转换回您需要的格式

with x(y) as (
  select '2015002' from dual
)
select y,
       to_date(y,'YYYY"0"MM'),
       add_months(to_date(y,'YYYY"0"MM'),-2),
       to_char(add_months(to_date(y,'YYYY"0"MM'),-2),'YYYY"0"MM')
 from x

|       Y |     TO_DATE(Y,'YYYY"0"MM') | ADD_MONTHS(TO_DATE(Y,'YYYY"0"MM'),-2) | TO_CHAR(ADD_MONTHS(TO_DATE(Y,'YYYY"0"MM'),-2),'YYYY"0"MM') |
|---------|----------------------------|---------------------------------------|------------------------------------------------------------|
| 2015002 | February, 01 2015 00:00:00 |            December, 01 2014 00:00:00 |                                                    2014012 |

您应该首先将其转换为日期,然后减去月份,再转换回所需的格式

with x(y) as (
  select '2015002' from dual
)
select y,
       to_date(y,'YYYY"0"MM'),
       add_months(to_date(y,'YYYY"0"MM'),-2),
       to_char(add_months(to_date(y,'YYYY"0"MM'),-2),'YYYY"0"MM')
 from x

|       Y |     TO_DATE(Y,'YYYY"0"MM') | ADD_MONTHS(TO_DATE(Y,'YYYY"0"MM'),-2) | TO_CHAR(ADD_MONTHS(TO_DATE(Y,'YYYY"0"MM'),-2),'YYYY"0"MM') |
|---------|----------------------------|---------------------------------------|------------------------------------------------------------|
| 2015002 | February, 01 2015 00:00:00 |            December, 01 2014 00:00:00 |                                                    2014012 |