SQL语句中缺少字符ORA-00911

SQL语句中缺少字符ORA-00911,sql,jdbc,Sql,Jdbc,我试图在JDBC上以表格的形式编写一份报告。报告将接受,但当我尝试运行它时,我不断收到oracle-00911错误,指出缺少字符。我假设我在某个地方漏掉了一句话,但我在任何地方都找不到错误。有人在代码中的任何地方看到缺少的字符吗 谢谢你的帮助 (SELECT '<b>Trouble Events</b>', NVL(NULLIF(TO_CHAR((SELECT COUNT(EventID) FROM kub_

我试图在JDBC上以表格的形式编写一份报告。报告将接受,但当我尝试运行它时,我不断收到oracle-00911错误,指出缺少字符。我假设我在某个地方漏掉了一句话,但我在任何地方都找不到错误。有人在代码中的任何地方看到缺少的字符吗

谢谢你的帮助

        (SELECT
            '<b>Trouble Events</b>',
            NVL(NULLIF(TO_CHAR((SELECT COUNT(EventID) FROM kub_nms.electric_jobs WHERE
                BeginDateTime BETWEEN TO_DATE('<{[begin_date]}> <{[begin_time]}>', 'MM/DD/YYYY HH24:MI') 
                AND TO_DATE('<{[end_date]}> <{[end_time]}>', 'MM/DD/YYYY HH24:MI') AND Completed = 'N' 
                AND FirstAssignedDateTime IS NULL AND FirstArrivedDateTime IS NULL
                AND Analysis = 'Non-Outage'), 'fm9,999,990'), '0'), ' ') Pending,
            NVL(NULLIF(TO_CHAR((SELECT COUNT(EventID) FROM kub_nms.electric_jobs WHERE
                BeginDateTime BETWEEN TO_DATE('<{[begin_date]}> <{[begin_time]}>', 'MM/DD/YYYY HH24:MI') 
                AND TO_DATE('<{[end_date]}> <{[end_time]}>', 'MM/DD/YYYY HH24:MI') AND Completed = 'N' 
                AND FirstAssignedDateTime IS NOT NULL
        AND Status not in ('Crew Enroute', 'Crew Onsite')
                AND Analysis = 'Non-Outage'), 'fm9,999,990'), '0'), ' ') Assigned,
            NVL(NULLIF(TO_CHAR((SELECT COUNT(EventID) FROM kub_nms.electric_jobs WHERE
                BeginDateTime BETWEEN TO_DATE('<{[begin_date]}> <{[begin_time]}>', 'MM/DD/YYYY HH24:MI') 
                AND TO_DATE('<{[end_date]}> <{[end_time]}>', 'MM/DD/YYYY HH24:MI') AND Completed = 'N' 
                AND (FirstAssignedDateTime IS NOT NULL OR FirstArrivedDateTime IS NOT NULL)
        AND Status in ('Crew Enroute', 'Crew Onsite')
                AND Analysis = 'Non-Outage'), 'fm9,999,990'), '0'), ' ') Working,
            NVL(NULLIF(TO_CHAR((SELECT COUNT(EventID) FROM kub_nms.electric_jobs WHERE
                BeginDateTime BETWEEN TO_DATE('<{[begin_date]}> <{[begin_time]}>', 'MM/DD/YYYY HH24:MI') 
                AND TO_DATE('<{[end_date]}> <{[end_time]}>', 'MM/DD/YYYY HH24:MI')
                AND Completed = 'Y' AND Active = 'N'
        AND Status <> 'Cancelled'
        AND Completioncode like '%COMP%'
                AND Analysis = 'Non-Outage), 'fm9,999,990'), '0'), ' ') Closed,
            '<b>' || NVL(NULLIF(TO_CHAR((SELECT COUNT(EventID) FROM kub_nms.electric_jobs WHERE
                BeginDateTime BETWEEN TO_DATE('<{[begin_date]}> <{[begin_time]}>', 'MM/DD/YYYY HH24:MI') 
                AND TO_DATE('<{[end_date]}> <{[end_time]}>', 'MM/DD/YYYY HH24:MI')
        AND Status <> 'Cancelled'
                AND Analysis = 'Non-Outage'), 'fm9,999,990'), '0'), ' ') || '</b>' Total
        FROM
            dual)
            
        UNION ALL
        
        (SELECT
            '<b>Outage Events (< 50 Customers)</b>',
            NVL(NULLIF(TO_CHAR((SELECT COUNT(EventID) FROM kub_nms.ieee_jobs WHERE
                BeginDateTime BETWEEN TO_DATE('<{[begin_date]}> <{[begin_time]}>', 'MM/DD/YYYY HH24:MI') 
                AND TO_DATE('<{[end_date]}> <{[end_time]}>', 'MM/DD/YYYY HH24:MI')
                AND Completed = 'N' AND CustomersOut < 50 
                AND FirstAssignedDateTime IS NULL AND FirstArrivedDateTime IS NULL), 'fm9,999,990'), '0'), ' ') Pending,
            NVL(NULLIF(TO_CHAR((SELECT COUNT(EventID) FROM kub_nms.ieee_jobs WHERE
                BeginDateTime BETWEEN TO_DATE('<{[begin_date]}> <{[begin_time]}>', 'MM/DD/YYYY HH24:MI') 
                AND TO_DATE('<{[end_date]}> <{[end_time]}>', 'MM/DD/YYYY HH24:MI')
                AND Completed = 'N' AND CustomersOut < 50 
                AND FirstAssignedDateTime IS NOT NULL
        AND Status not in ('Crew Enroute', 'Crew Onsite')), 'fm9,999,990'), '0'), ' ') Assigned,
            NVL(NULLIF(TO_CHAR((SELECT COUNT(EventID) FROM kub_nms.ieee_jobs WHERE
                BeginDateTime BETWEEN TO_DATE('<{[begin_date]}> <{[begin_time]}>', 'MM/DD/YYYY HH24:MI') 
                AND TO_DATE('<{[end_date]}> <{[end_time]}>', 'MM/DD/YYYY HH24:MI')
                AND Completed = 'N' AND CustomersOut < 50 
                AND (FirstAssignedDateTime IS NOT NULL OR FirstArrivedDateTime IS NOT NULL)
        AND Status in ('Crew Enroute', 'Crew Onsite')), 'fm9,999,990'), '0'), ' ') Working,
            NVL(NULLIF(TO_CHAR((SELECT COUNT(EventID) FROM kub_nms.ieee_jobs WHERE
                BeginDateTime BETWEEN TO_DATE('<{[begin_date]}> <{[begin_time]}>', 'MM/DD/YYYY HH24:MI') 
                AND TO_DATE('<{[end_date]}> <{[end_time]}>', 'MM/DD/YYYY HH24:MI')
                AND Active = 'N' AND Completed = 'Y' AND CustomersOut < 50 
                AND Status <> 'Cancelled' 
        AND Completioncode like '%COMP%'), 'fm9,999,990'), '0'), ' ') Closed,
            '<b>' || NVL(NULLIF(TO_CHAR((SELECT COUNT(EventID) FROM kub_nms.ieee_jobs WHERE
                BeginDateTime BETWEEN TO_DATE('<{[begin_date]}> <{[begin_time]}>', 'MM/DD/YYYY HH24:MI') 
                AND TO_DATE('<{[end_date]}> <{[end_time]}>', 'MM/DD/YYYY HH24:MI')
                AND Status <> 'Cancelled'), 'fm9,999,990'), '0'), ' ') || '</b>' Total
        FROM
            dual)
            
        UNION ALL
        
        (SELECT
            '<b>Outage Events (50+ Customers)</b>',
            NVL(NULLIF(TO_CHAR((SELECT COUNT(EventID) FROM kub_nms.ieee_jobs WHERE
                BeginDateTime BETWEEN TO_DATE('<{[begin_date]}> <{[begin_time]}>', 'MM/DD/YYYY HH24:MI') 
                AND TO_DATE('<{[end_date]}> <{[end_time]}>', 'MM/DD/YYYY HH24:MI')
                AND Completed = 'N' AND CustomersOut >= 50 
                AND FirstAssignedDateTime IS NULL AND FirstArrivedDateTime IS NULL), 'fm9,999,990'), '0'), ' ') Pending,
            NVL(NULLIF(TO_CHAR((SELECT COUNT(EventID) FROM kub_nms.ieee_jobs WHERE
                BeginDateTime BETWEEN TO_DATE('<{[begin_date]}> <{[begin_time]}>', 'MM/DD/YYYY HH24:MI') 
                AND TO_DATE('<{[end_date]}> <{[end_time]}>', 'MM/DD/YYYY HH24:MI')
                AND Completed = 'N' AND CustomersOut >= 50 
                AND FirstAssignedDateTime IS NOT NULL
        AND Status not in ('Crew Enroute', 'Crew Onsite')), 'fm9,999,990'), '0'), ' ') Assigned,
            NVL(NULLIF(TO_CHAR((SELECT COUNT(EventID) FROM kub_nms.ieee_jobs WHERE
                BeginDateTime BETWEEN TO_DATE('<{[begin_date]}> <{[begin_time]}>', 'MM/DD/YYYY HH24:MI') 
                AND TO_DATE('<{[end_date]}> <{[end_time]}>', 'MM/DD/YYYY HH24:MI')
                AND Completed = 'N' AND CustomersOut >= 50 
                AND (FirstAssignedDateTime IS NOT NULL OR FirstArrivedDateTime IS NOT NULL)
        AND Status in ('Crew Enroute', 'Crew Onsite')), 'fm9,999,990'), '0'), ' ') Working,
            NVL(NULLIF(TO_CHAR((SELECT COUNT(EventID) FROM kub_nms.ieee_jobs WHERE
                BeginDateTime BETWEEN TO_DATE('<{[begin_date]}> <{[begin_time]}>', 'MM/DD/YYYY HH24:MI') 
                AND TO_DATE('<{[end_date]}> <{[end_time]}>', 'MM/DD/YYYY HH24:MI')
                AND Active = 'N' AND Completed = 'Y' AND CustomersOut >= 50 
        AND Status <> 'Cancelled' AND Completioncode like '%COMP%'), 'fm9,999,990'), '0'), ' ') Closed,
            '<b>' || NVL(NULLIF(TO_CHAR((SELECT COUNT(EventID) FROM kub_nms.ieee_jobs WHERE
                BeginDateTime BETWEEN TO_DATE('<{[begin_date]}> <{[begin_time]}>', 'MM/DD/YYYY HH24:MI') 
                AND TO_DATE('<{[end_date]}> <{[end_time]}>', 'MM/DD/YYYY HH24:MI')
                AND CustomersOut >= 50 
                AND Status <> 'Cancelled'), 'fm9,999,990'), '0'), ' ') || '</b>' Total
        FROM
            dual)

最佳实践-在SQL Developer中复制查询,该查询具有语法突出显示和观察功能

您将立即在第26行第46列看到一个问题

            AND Analysis = ' non - outage),
应该是

            AND Analysis = ' non - outage'),

谢谢你的帮助。事实上,在将代码输入到消息体后,我比在SQLDeveloper中输入代码时更容易看到错误。当我在sql developer中放入这样的代码时,唯一的问题是运行报表“”的用户变量将其抛出一个巨大的循环,而它似乎无法识别代码。