oracle报ORA-00911:invalid character

时间:2024-04-17 11:04:19

今天查问题的时候,发现一个在分号后边加注释,解析错误的问题;

select 
decode(td.invoice_type,\'1\',\'增值税专用发票\',\'2\',\'其他发票\',\'3\',\'海关进口增值税专用缴款书\',\'4\',\'高速通行费\',
              \'5\',\'其他通行费\',\'6\',\'代扣代缴税收通用缴款书\',\'7\',\'无发票\',\'8\',\'后补发票\',
               \'9\',\'机动车销售统一发票(可抵扣)\',\'10\',\'增值税普通发票(不能抵扣)\',\'11\',\'增值税电子发票(不能抵扣)\'\'12\',\'增值税电子发票(通行费)(可抵扣)\') 发票类型,    
       td.invoice_code 发票代码,
       td.invoice_no   发票号码,
       td.invoice_date 开票时间,
       tp.PAYMENT_MADE_DATE 支付成功时间,
       nvl(tp.PAY_AMOUNT,0) 支付金额,
       \'\' 入账科目,
        tp.REC_BANK_ACCOUNT_NAME 收款人,
        td.finance_department_code 发票所属机构
       
from tp_pay_transactions tp ,t_payment V,t_invoice_detail td,t_invoice_approval_relation rea
WHERE td.invoice_id = rea.invoice_id
  and rea.claim_id = v.claim_id
  and v.tp_pay_transactions_id = tp.pay_id
  and v.paid_flag = \'2\'
  and td.cancel_status != \'2\'
  and v.hq_pay_flag != \'2\';--jnjnjkljb

 

     :位置

  :注释

备注:ORA-00911:invalid  character:分号解析错误;

如果你在引号后边,加了黄色那个注释;报ORA-00911:invalid  character;

为什么那?

原因就是你分号(;)解析错误;把注释也解析了,造成就不认得了;

怎么改那?

把注释加在分号里边;或者换行;