Операторът за конкатенация в Oracle е ||
. Не +
:
SQL> select 'a' +' b' from dual;
select 'a' +' b' from dual
*
ERROR at line 1:
ORA-01722: invalid number
SQL> select 'a' || 'b' from dual;
'A
--
ab
В допълнение, YEAR
е MySQL функция. В Oracle ще използвате EXTRACT(YEAR FROM ....)
И накрая, знаете ли за TO_CHARкод>
функция?
Така че трябва да пренапишете цялата си заявка като:
SELECT TO_CHAR(day_date, 'MM-YYYY') AS MY_DATE,
sum(cash_sales) as cash_sales, sum(unit_sales) as unit_sales
FROM NC_SALES_CAT_TL
GROUP BY TO_CHAR(day_date, 'MM-YYYY')