Funções SQL compatíveis

  • Versão de lançamento: Australia
  • Atualizado 10 de mar. de 2026
  • 5 min. de leitura
  • Funções SQL comuns usadas em API de SQL para consultar e analisar dados do incidente.

    ServiceNow Oferece suporte a uma variedade de funções SQL para consultar e analisar dados em tabelas como a tabela de incidentes. Esta lista resumida abrange funções SQL comuns organizadas por categoria, com exemplos de casos de uso e consultas focadas em cenários de gestão de incidentes.

    Nota:
    Atualmente, o mecanismo de consulta oferece suporte somente a junções INTERNAS e EXTERNAS ESQUERDAS.
    Tabela 1. Funções SQL compatíveis
    Categoria Nome da Função Exemplo de caso de uso Consulta de amostra
    Fn agregado MÉDIA Calcule o nível de prioridade médio de incidentes resolvidos para medir as tendências de gravidade SELECIONE AVG(CAST(priority AS FLOAT)) COMO avg_priority_level DO incidente EM QUE o estado é 7;
    Fn agregado CONTAGEM Contar o total de incidentes em aberto por nível de prioridade SELECIONE prioridade, COUNT (*) COMO incident_count DO incidente EM QUE o estado EM (1,2,3) GRUPO POR prioridade;
    Fn agregado SOMA Calcule o número total de atualizações em todos os incidentes P1 SELECIONE SOMA(sys_mod_count) COMO total_updates DO incidente EM QUE a prioridade é 1;
    Fn agregado MÁX Encontre o valor de prioridade mais alta em Incidentes em aberto SELECIONE MAX(priority) COMO highest_priority DO incidente EM QUE estado EM (1,2,3);
    Cláusulas CASO Categorize incidentes por prioridade para visualização do painel SELECIONE o número, CASO QUANDO a prioridade for 1, "Crítica" QUANDO a prioridade for 2, "Alta" QUANDO a prioridade for 3, "Média" OU "Baixa" TERMINAR COMO priority_label DO incidente EM QUE estado EM (1,2,3);
    Cláusulas SUPERIOR Identifique os 10 incidentes mais modificados para revisão de qualidade SELECIONE os 10 PRINCIPAIS números, sys_mod_count DO PEDIDO DE incidente POR sys_mod_count DESC;
    Cláusulas AGRUPAR POR Analise o volume de incidentes por categoria para tendências SELECIONE categoria, COUNT(*) COMO contagem DO incidente EM QUE o estado EM (1,2,3) AGRUPAR POR categoria;
    Cláusulas TENDO Encontre grupos de atribuição com mais de 50 incidentes em aberto para planejamento de capacidade SELECIONE assignment_group , COUNT(*) COMO open_count DO incidente EM QUE estado EM (1,2,3) GRUPO POR assignment_group COM COUNT(*) > 50;
    Cláusulas JUNÇÃO À ESQUERDA Listar incidentes com detalhes de usuário atribuídos para o relatório de desempenho da equipe EM i.number, i.priority, u.name COMO assigned_to, u.department DO incidente que DEIXEI, JOIN sys_user u EM i.assigned_to: U.sys_id EM QUE i.state EM (1,2,3);
    Cláusulas ORDENAR POR ASC Recupere incidentes mais antigos por data de abertura para revisão de escalação SELECIONE number, short_description, opened_at FROM incident WHERE state IN (1,2,3) ORDER BY opened_at asc;
    Cláusulas DISTINCT Obtenha uma lista exclusiva de categorias de incidentes recentes SELECIONE uma categoria DISTINTA DO incidente EM QUE o estado ESTÁ EM (1,2,3);
    Cláusulas SUBCONSULTA (DE) Calcule a contagem média de incidentes por usuário a partir de atribuições ativas SELECIONE AVG(incident_count) COMO avg_per_user FROM (SELECIONE assigned_to, COUNT(*) COMO incident_count DO incidente EM QUE assigned_to NÃO É NULL GROUP BY assigned_to) COMO user_stats;
    Cláusulas SUBCONSULTA (ONDE) Localizar incidentes atribuídos a usuários ativos de suporte de TI SELECIONE number, short_description, assigned_to DO incidente EM QUE assigned_to EM (SELECIONE sys_id DE sys_user EM QUE departamento é "Suporte DE TI" E ativo é 1) E estado EM (1,2,3);
    Cláusulas SINDICATO Combine incidentes de alta prioridade e não atribuídos para a lista de ações urgentes SELECIONE número, "P1-Crítico" COMO motivo, assigned_to, prioridade, estado DO incidente EM QUE a prioridade é igual a 1 E o estado EM (1,2,3) número de SELEÇÃO DE UNIÃO, "Não atribuído" COMO motivo, assigned_to, prioridade, estado DO incidente EM QUE assigned_to É NULL E estado EM (1,2,3);
    Fn de data/hora date_part Analise padrões de criação de incidentes por ano para tendências históricas SELECIONE date_part('year', opened_at) COMO year, COUNT(*) COMO incidentes DO GRUPO de incidentes POR date_part('year', opened_at) ORDER BY date_part('year', opened_at);
    Fn de data/hora data_trunc Agrupar incidentes por mês para o relatório de tendências mensal executivo SELECIONE DATE_trunc('month', opened_at) COMO mês, COUNT(*) COMO total DO GRUPO de incidentes POR mês ORDEM POR mês;
    Fn numérico ABS Calcule a diferença absoluta entre os valores de prioridade para normalização SELECIONE o número, ABS (prioridade - 3) COMO priority_desvio DO incidente EM QUE o estado EM (1,2,3);
    Fn numérico TETO Arredonde a divisão de prioridade para cálculos de pontuação ponderada SELECIONE número, prioridade, TETO(CAST(sys_mod_count AS FLOAT) / 3) COMO update_score DO incidente EM QUE estado EM (1,2,3);
    Fn numérico PISO Calcule a média de piso de contagens de modificação para métricas de linha de base SELECIONE assignment_group, FLOOR(AVG(CAST(sys_mod_count AS FLOAT))) COMO avg_updates DO GRUPO de incidentes POR assignment_group;
    Operadores IN Filtre incidentes para categorias críticas para os negócios para o painel executivo SELECIONE número, categoria, prioridade, estado DO incidente EM QUE a categoria ESTÁ ("Rede", "Banco de dados", "Segurança", "Aplicação");
    Operadores NÃO É NULO Localizar incidentes com atribuições de item de configuração para análise do CMDB SELECIONE number, cmdb_ci, category, assignment_group DO incidente EM QUE cmdb_ci NÃO É NULL;
    Operadores GOSTO PESQUISE incidentes relacionados a acesso e redefinição de senha para análise de autoatendimento SELECIONE number, short_description, caller_id DO incidente EM QUE short_description COMO '%password%' OU short_description COMO '%login%';
    Operadores NÃO ESTÁ ENTRE Identifique incidentes com valores de prioridade incomuns para auditoria de qualidade de dados SELECIONE número, prioridade, short_description DO incidente EM QUE a prioridade NÃO ESTÁ ENTRE 2 E 4;
    ServiceNow Fn específico DV Exiba valores de campos de referência legíveis em relatórios SELECIONE Number, dv(assignment_group) COMO group_name, dv(assigned_to) COMO assignee_name DO incidente EM QUE estado EM (1,2,3);
    Cadeia de caracteres fn CONCAT_WS Crie resumos de incidentes formatados para sistemas de tíquetes externos SELECIONE concat_ws(' - ', number, category, short_description) COMO formatted_summary DO incidente EM QUE o estado é 7;
    Cadeia de caracteres fn INFERIOR Padronize nomes de categoria para agrupamento e análise que não diferenciam maiúsculas de minúsculas SELECIONE LOWER (category) COMO category_normalized DO incidente;
    Cadeia de caracteres fn SUBSTITUIR Transformar números de incidentes para integração de sistema externo SELECIONE REPLACE (number, "inc", "TICKET-") COMO external_id, short_description DO incidente EM QUE o estado é 7;
    Cadeia de caracteres fn SUBSTR Extraia o prefixo do incidente para categorização e emissão de relatórios SELECIONE NUMBER, SUBSTR(NUMBER, 1, 3) COMO PREFIX, SUBSTR(NUMBER, 4, 20) COMO sequência DO incidente;
    Cadeia de caracteres fn APARE Limpe o espaço em branco das descrições para melhorar a qualidade dos dados SELECIONE NUMBER, TRIM(short_description) COMO clean_description DO incidente EM QUE short_description NÃO É NULL;
    Windows fn CLASSIFICAÇÃO() Classifique incidentes por número de atualizações para identificar tíquetes modificados com mais frequência SELECIONE number, sys_mod_count, assignment_group, RANK() OVER (ORDENAR POR sys_mod_count DESC) COMO modify_rank DO incidente EM QUE assignment_group NÃO É NULL;