我有实现功能的任务。
我创建了函数get_month,以便从日期string
获取日期格式为'DD/MM/YYYY HH24:MM:SS'
的月份,这就是代码。
create or replace FUNCTION GET_MONTH(tgl DATE) RETURN VARCHAR2
IS mnth VARCHAR2(20);
BEGIN
mnth := TO_CHAR(to_date(tgl, 'DD/MM/YYYY HH24:MI:SS'), 'Month');
RETURN UPPER(mnth);
END;
我使用查询:
SELECT GET_MONTH('12/02/2018 04:12:12') FROM dual;
及其作品FEBRUARY
我有一个表A
,其中包含MNTH
列和COST
。表A
中的数据是大写的,从1月到12月的大写,并且成本中的数据全部为0.
当我尝试进行查询时:
SELECT cost
FROM A
WHERE mnth = GET_MONTH('12/02/2017 12:12:12');
它表示没有选择任何行,但是当我使用
时SELECT cost FROM A WHERE mnth = 'FEBRUARY';
结果0.我不知道为什么功能不起作用。谁知道为什么? 对不起我的英文