【发布时间】:2020-10-14 08:34:55
【问题描述】:
我是 sql oracle 的新手,在这里我遇到了如何用例的问题,例如是这样的:
-
如果 transaction_type RECEIVE 那么收货日期 - 承诺日期
-
如果收货日期 > 承诺日期,则收货日期 - 承诺日期
-
如果收货日期
-
如果尚未收到或 transaction_type DELIVER 则 sysdate - 承诺日期
CASE WHEN transaction_type ='RECEIVE' THEN to_char(creation_date, 'DD-MON-YYYY') – to_char(promised_date, 'DD-MON-YYYY') WHEN to_char(creation_date, 'DD-MON-YYYY') > to_char(promised_date, 'DD-MON-YYYY') THEN to_char(creation_date, 'DD-MON-YYYY') – to_char(promised_date, 'DD-MON-YYYY') WHEN to_char(creation_date, 'DD-MON-YYYY') <= to_char(promised_date, 'DD-MON-YYYY') THEN null WHEN transaction_type ='DELIVER' THEN to_char(sysdate, 'DD-MON-YYYY') - to_char(promised_date, 'DD-MON-YYYY') END AS delay_day
ORA-00911: 无效字符 00911. 00000 - “无效字符” *原因:标识符名称以非 ASCII 字符开头 字母或数字。在标识符的第一个字符之后 名称,ASCII 字符是允许的,包括“$”、“#”和“_”。 用双引号括起来的标识符可以包含任何 双引号以外的字符。替代报价 标记 (q'#...#') 不能使用空格、制表符或回车作为 分隔符。对于所有其他上下文,请参阅 SQL 语言 参考手册。 *操作:检查 Oracle 标识符命名约定。如果你是 试图在 IDENTIFIED BY 子句中提供密码 一个 CREATE USER 或 ALTER USER 语句,那么建议 始终将密码用双引号引起来,因为 然后允许使用双引号以外的字符。 行错误:21 列:94
这是错误,我不知道这是什么问题
【问题讨论】:
标签: oracle plsql case oracle-sqldeveloper