我似乎不能使to_date/to_char (var, 'ddmmyyyy')工作。我怎么把它变成这种形式。我试图改变选择作为输出,所有给我错误。
任何帮助都非常感谢!
DECLARE
auditnr NUMBER(7) := 186725;
pap_combinatie NUMBER(3) := 986;
gids VARCHAR(240) := 'G-040V.5';
begindatum date;
einddatum date;
maxeinddatum date;
operatorid number;
BEGIN
SELECT
-- Tried: to_date(MAX(aa.datum_begin_validatie),'ddmmyyyy'),
-- Tried: to_char(MAX(aa.datum_begin_validatie),'ddmmyyyy'),
MAX(aa.datum_begin_validatie),
max(aa.datum_eind_validatie),
max(aa.datum_eind_max),
max(o.operator_id)
INTO begindatum, einddatum, maxeinddatum, operatorid
FROM autocontrole2.activiteit_audit aa,
autocontrole2.pap_operator o
WHERE aa.pap_operator_id = o.pap_operator_id
AND aa.audit_oci_id = auditnr;
DBMS_OUTPUT.PUT_LINE(begindatum || ',' || einddatum || ',' || maxeinddatum || ',' || operatorid);
-- Tried: DBMS_OUTPUT.PUT_LINE(to_date(begindatum,'ddmmyyyy') || ',' || einddatum || ',' || maxeinddatum || ',' || operatorid);
-- Tried: DBMS_OUTPUT.PUT_LINE(to_char(begindatum,'ddmmyyyy') || ',' || einddatum || ',' || maxeinddatum || ',' || operatorid);
END;
一切都给我错误。
输出为:22- nov -20,21- nov -23,21- nov -23,4775291我想要的输出:22112020,21112023,21112023,4775291
要将数据类型DATE转换为VARCHAR2,使用TO_CHAR
。TO_DATE
用于将字符串(VARCHAR2)转换为DATE。
那么在你的代码中它会变成:
DBMS_OUTPUT.PUT_LINE(TO_CHAR(begindatum, 'DDMMYYYY')||...