Skip To Content

Calcular valores de campo

Os cálculos de campo permitem que o proprietário da camada de feição hospedada ou um administrador da organização altere os valores de cada linha em um campo específico na tabela de atributos de uma camada.

Por exemplo, se você tiver uma camada de feição hospedada que armazene informações sobre vendas de propriedades—incluindo o preço de venda e taxa de imposto para o local da propriedade—você poderá adicionar um campo na camada para armazenar os impostos de propriedade estimados. Para preencher o campo estimated_property_taxes, defina uma expressão de cálculo para o campo que aceita os valores no campo sale_price e multiplique-os pelos valores de tax_rate.

Você tem duas opções ao gravar expressões de cálculo em campos de camadas em uma camada de feição hospedada:

  • ArcGIS ArcadeArcade é ideal para cálculos que exigem mais funcionalidade do que o SQL, já que o Arcade fornece acesso a valores de atributos e geometria da feição, permitindo a você criar expressões que incluem operações espaciais. Além disso, se ocorrer um erro durante o cálculo de uma determinada linha, você poderá parar e solucionar o problema e iniciar o cálculo novamente após corrigir o problema.

    Anotação:

    Você deve habilitar a edição na camada para usar o Arcade para cálculos, mas a camada não pode ter a sincronização habilitada. Consulte Gerenciar camadas de feições hospedadas para obter informações sobre como alterar as configurações de edição e sincronização.

  • SQL—Utilize o SQL para obter o desempenho mais rápido com cálculos que podem ser executados com expressões SQL (SQL-92) padronizadas em atributos não espaciais. Você pode executar o SQL em camadas e camadas de feição hospedadas habilitadas para sincronização configuradas para rastrear criadores e editores de feições; enquanto você não for possível executar expressões Arcade em tais camadas.

A próxima seção explica como calcular os valores de um campo a partir da página de detalhes de uma camada de feição hospedada. As seções subsequentes fornecem exemplos de cálculos comuns.

Calcular valores para um campo

Siga estas etapas para calcular valores do campo de string, numéricos ou de data em um campo.

Anotação:
Os cálculos de campo não podem ser desfeitos. Por esta razão, uma boa prática é adicionar um campo, calcular valores para ele e confirmar que o cálculo é o que você desejava. Se for, você poderá calcular o campo original para igualar ao campo adicionado. Após confirmar que os valores estão corretos no campo original, você poderá excluir o campo que você adicionou.

  1. Na página de itens da camada, clique na guia Dados para mostrar a tabela.
    Dica:

    Você também pode executar essas etapas na tabela no Map Viewer (que antes era uma instalação beta separada, mas agora está incluída por padrão no portal) ou Map Viewer Classic.

  2. Clique na coluna contendo os valores que você deseja calcular.
  3. Siga um destes procedimentos para abrir a caixa de diálogo Calcular Campo :
    • Clique em Calcular.
    • Clique em Mostrar Visualização Detalhada > Calcular.
  4. Escolha o idioma a ser utilizado para seu cálculo, Arcade ou SQL.

    Se a camada de feição hospedada tiver a sincronização habilitada ou estiver configurada para rastrear quem cria e atualiza as feições, você não visualizará esta página. Ao contrário, a janela SQL aparecerá.

  5. Componha uma expressão de cálculo.
    • Para SQL, utilize operadores básicos, uma lista de campo e funções. Clique no botão Validar para garantir que não haja erros na expressão. Se a expressão for inválida, clique no botão Remover e componha uma nova. Quando a expressão estiver completa e válida, clique em Calcular.
    • Para Arcade, utilize variáveis globais, funções, e constantes. Clique em OK para executar a expressão. Se ocorrer um erro ao executar a expressão, você poderá clicar em Revisar Erros para abrir a janela de expressão para poder corrigir o erro. Caso contrário, clique em Cancelar. Se você corrigir a expressão e executá-la novamente, o cálculo será reiniciado.

O tempo necessário para o cálculo ser concluído depende da complexidade da expressão e do número de feições em sua camada.

Cálculos de exemplo

As seções seguintes fornecem sintaxe de exemplo ou métodos para executar cálculos comuns no ArcGIS Enterprise.

Execute uma operação matemática em valores numéricos em dois campos existentes para preencher um terceiro campo

Um dos cálculos mais comuns que você executa são para derivar um valor numérico novo baseado em valores existentes em sua camada de feição. Por exemplo, você pode subtrair um ano das vendas totais para todas as lojas dos totais de vendas de outro ano para localizar a mudança em lucro de um ano até o próximo, ou você pode dividir o número total de residentes abaixo de 18 anos de idade pela população total para determinar a fração da população que está abaixo de 18.

Exemplos Arcade

Calcule a diferença entre os valores de dois campos numéricos, Sales2016 e Sales2017, para preencher um campo numérico.

$feature.Sales2016 - $feature.Sales2017

Exemplo de SQL

Utilize o cálculo em uma campo numérico (SalesDifference) para localizar a diferença entre os valores nos campos numéricos, Sales2016 e Sales2017.

Sales2016 - Sales2017

Preencha um campo numérico com um valor número decimal que seja o resultado doo cálculo que a porção da população está abaixo de 18 anos de idade.

PopUnder18/TotalPop

Concatene os valores de string de campos existentes em um novo campo de string

Outro cálculo que preenche um novo campo envolve combinar valores de campos de string existentes. Por exemplo, você pode ter dois campos de string para localizações de quarto em um hotel—Floor e Room—e você deseja combiná-los em um campo de string que contenha ambos.

Nos exemplos seguintes, valores dos campos Floor e Room serão combinados em um campo único.

Exemplo de Arcade

Concatenate($feature.room,$feature.floor)

Exemplo de SQL

CONCAT(Floor,Room)

Remova espaços iniciais ou finais dos campos de string

Quando os usuários digitam ou colam os valores em um campo quando eles estiverem editando, eles podem cometer enganos e deixar um espaço inicial ou final no texto. Você pode limpar estes enganos cortando os valores.

Nestes exemplos, você sabe que o editor adicionou um espaço inicial ao colar New Hampshire no campo que armazena os nomes de estado, então você irá cortar o espaço a partir do final da string.

Exemplo de Arcade

Trim('New Hampshire ')

Exemplo de SQL

Trim(TRAILING ' ' FROM 'New Hampshire ')

Preencha um campo com valores diferentes dependendo de valores em outro campo

Às vezes, o valor que você deseja adicionar em um campo varia por feição e depende de outro valor da mesma feição. Por exemplo, você pode adicionar um campo de string à camada de feição para armazenar o texto que descreve um valor numérico ou valor de string abreviado em outro campo. Como a interface de cálculo SQL não suporta isto, utilize o Arcade para estes tipos de cálculos.

Exemplo de Arcade

O seguinte exemplo grava condicionalmente diferentes valores de string—Nenhum, Baixo, Alto, ou Outro—para um campo de texto baseado em um número em outro campo na camada (HowMany).

When(
  $feature.HowMany == 0, "None",
  $feature.HowMany == 1, "Low",
  $feature.HowMany == 2,  "High",
"Other")

Use um filtro no Map Viewer Classic

Se você não deseja utilizar uma expressão Arcade, é possível aplicar um filtro para a camada no mapa, calcular os valores das feições filtradas, remover este filtro, aplicar outro filtro baseado em um valor diferente e calcular os valores para estes campos. Isto é descrito nas etapas seguintes.

Por exemplo, se você tem um campo numérico que registra os tipos de loja usando códigos (3, 2 e 1), e deseja um campo de string que especifica o que cada um desses códigos representa (cadeia, franquia e independente), você pode adicione um campo de string à camada, adicione a camada ao mapa, filtre para cada valor de código e calcule o valor do campo de string.

  1. Adicione um campo de string para a camada de feição hospedada. Configure o comprimento para acomodar a string mais longa que você armazenará.

    No exemplo do tipo de armazenamento, o novo nome de campo é TypeFull.

  2. Na guia Visão Geral da página de detalhes da camada, clique em Abrir no Map Viewer Classic.
  3. Defina um filtro na camada de forma que somente as feições do mesmo tipo estejam presentes no mapa.

    Para o exemplo de armazenamento, aplique um filtro que retorne somente as feições para as quais o valor de campo StoreCodeseja 3.

  4. Abra a tabela de atributos da camada.
  5. Clique no nome do campo que você adicionou na etapa 1 e clique em Calcular.

    Para este exemplo, clique no nome TypeFull e clique em Calcular.

  6. Digite a string que deseja inserida neste campo para estas feições. Inclua a string dentro de aspas únicas.

    Digite 'chain' para preencher o campo TypeFull de todas as feições que tiveram um valor StoreCode de 3.

  7. Clique em Calcular.
  8. Remova o filtro que você definiu na etapa 3. Abra a janela Filtrar da camada novamente e clique em Remover Filtro.
  9. Repita as etapas 3 até 8 para os valores restantes que você precisa calcular.

    Para o exemplo de armazenamento, defina um filtro para que StoreCode seja 2 e calcule TypeFull para armazenar 'franchise'. Remova este filtro, defina um novo filtro para que StoreCode seja 1, e calcule TypeFull para armazenar 'independent'.

  10. Quando você finalizar o cálculo dos valores para o novo campo, feche o mapa sem salvá-lo.

Substitua um valor com outro

Caso seja necessário substituir um valor existente por outro—por exemplo, o modo que você representa um valor em particular mudou ou você precisa corrigir valores inseridos errados—você poderá localizar todos os valores existentes de um campo e substitui-los por um novo valor. Como a interface de cálculo SQL não suporta isto, utilize o Arcade para estes tipos de cálculos.

Aviso:

Os cálculos são imediatamente salvos na camada de feição. Se você substituir um valor existente no erro, você precisará calcular novamente para alterar o valor de volta.

Exemplo de Arcade

Este exemplo utilize a função Substituir para alterar a ortografia Britânica (cor) para a ortografia Americana.

Replace($feature.color, 'colour', 'color')

Use um filtro no Map Viewer Classic

Semelhante ao modo que você preencheria um campo baseado nos valores em outro campo, você pode aplicar um filtro para camada no mapa que retorna somente estas feições que contém o valor de campo que deseja substituir. A seguir, configure os campos filtrados igualmente ao novo valor para atualizar o valor dos campos.

Por exemplo, se você precisar corrigir os valores ou converter uma palavra em uma abreviação, filtre pela string literal que você precisa alterar e configure o campo para igualar ao novo valor.

  1. Adicione a camada de feição hospedada que você precisa atualizar para Map Viewer Classic.

    Você deve ser o proprietário da camada ou um administrador do portal.

  2. Defina um filtro na camada de forma que somente as feições que contém o valor que deseja para substituir são mostrados no mapa.

    Por exemplo, se você souber de várias feições que contenham os valores de Crt do campo StreetType, aplique um filtro que retorna somente estas feições para as quais o valor de campo StreetType seja Crt.

  3. Abra a tabela de atributos da camada.
  4. Clique no nome de campo e clique em Calcular.

    Para este exemplo, clique no campo StreetType e clique em Calcular.

  5. Digite a string que deseja inserida neste campo para estas feições. Inclua a string dentro de aspas únicas.

    Digite 'Ct' para preencher os campos StreetType filtrados com a abreviação corrigida para Court.

  6. Clique em Calcular para aplicar as alterações dos campos filtrados.
  7. Feche o mapa sem salvá-lo.

Determine a densidade de um atributo numérico por área da feição

Para calcular a densidade de um atributo em uma área, utilize uma expressão Arcade, pois você não pode executar cálculos SQL no campo espacial a partir da interface de cálculo.

Exemplo de Arcade

Este exemplo determina a densidade de população por feição dividindo o valor de população total (TotalPop) pela área em milhas quadradas da feição de polígono:

$feature.TotalPop / Area ($feature,
'square-miles')

Derive as coordenadas para uma feição de ponto

Você pode utilizar uma expressão Arcade para retornar as coordenadas de longitude ou latitude dos campos espaciais em uma camada de feição hospedada que contenha somente pontos.

Este tipo de cálculo não é suportado no campo espacial a partir da interface de cálculo.

Exemplo de Arcade

Este exemplo calcula um campo para a coordenada x para cada ponto em uma camada de ponto com a utilização da função Geometria.

Geometry($feature).x

Adicionar ou subtraia tempo de uma data

Você pode desejar adicionar tempo ou subtrair o tempo de um campo de data ou valor literal para produzir um campo de data atualizado. Por exemplo, você pode calcular uma data de inspeção futura ou de revisão ao adicionar tempo para uma data.

Exemplo de Arcade

Este exemplo utiliza a função DateAdd para adicionar sete dias a uma data para obter a data da semana seguinte.

var startDate = Date($feature.dateField);
var oneWeekLater = DateAdd(startDate, 7, 'days');
return oneWeekLater;

Exemplo de SQL

Utilize uma consulta INTERVAL para adição de tempo ou substração de tempo de um campo de data, como mostrados nos cálculos seguintes. O primeiro exemplo adiciona três dias a uma data para resultar em uma nova data. O segundo exemplo subtrai três dias de um campo de carimbo de tempo.

<DateField> + INTERVAL '3'DAY = updated date
<DateField> - INTERVAL '3 00:00:60' DAY TO SECOND = updated date

Você pode utilizar INTERVAL com os seguintes valores de tempo e data:

  • DIA
  • HORA
  • MINUTO
  • SEGUNDO
  • DIA PARA HORA
  • DIA PARA MINUTO
  • DIA PARA SEGUNDO
  • HORA PARA MINUTO
  • HORA PARA SEGUNDO
  • MINUTO PARA SEGUNDO

Calcular a diferença entre duas datas

Você pode desejar o cálculo do comprimento de tempo entre duas datas. Por exemplo, se você tiver as datas de instalação para metros elétricos e você também tiver as datas de inspeção, você poderá calcular a diferença entre as duas datas para verificar se o comprimento de tempo entre a instalação e a inspeção caem dentro das diretrizes permitidas. O resultado do cálculo é um campo de número, ao invés de um campo de data.

Exemplo de Arcade

O exemplo seguinte utiliza a função DateDiff para calcular uma idade da pessoa localizando a diferença entre uma data atual (endDate) e a data de aniversário da pessoa (startDate):

var startDate = Date($feature.startDateField);
var endDate = Date($feature.endDateField);
var age = DateDiff(endDate, startDate, 'years');
return age;

Exemplo de SQL

Qualquer combinação dos campos de data e literais de data pode ser utilizada para calcular o comprimento de tempo entre duas datas. O primeiro cálculo abaixo utiliza um campo de data, enquanto o segundo utiliza um literal de data. O terceiro e quarto cálculos utilizam ambos um campo de data e um literal de data.

<DateField1> - <DateField2> = number of days in between
DATE'<SQL-supported Date Literal>' - DATE'< SQL-supported Date Literal>' = number of days in between
<DateField1> - DATE'<SQL-supported Date Literal>' = number of days in between
DATE'<SQL-supported Date Literal>' - <DateField2>  = number of days in between

O resultado é um campo de número que é calculado subtraindo um campo de data ou literal de outro campo de data ou literal. O resultado do número (em dias) pode ser um número inteiro e também pode incluir uma fração—por exemplo, 1.5 representaria um dia e meio ou 36 horas.

No exemplo da inspeção de metro elétrico mencionado acima, quaisquer dos seguintes cálculos podem ser utilizados para calcular o comprimento de tempo entre um data de instalação em 6/1/2015 e uma data de inspeção em 10/1/2015. O primeiro cálculo utiliza campos de data, o segundo utiliza literais de data, e o terceiro e quarto ambos utilizam um campo de data e um literal de data.

<InspectionDateField> - <InstallationDateField> = 122 (days)
DATE'10/1/2015' - DATE'6/1/2015' = 122 (days)
<InspectionDateField> - DATE'6/1/2015' = 122 (days)
DATE'10/1/2015' - <InstallationDateField> = 122 (days)

As considerações ao calcular os valores de campo

  • Se você tiver um filtro em sua camada no visualizador de mapa, apenas os registros que atendem aos critérios do filtro terão seus valores calculados.
  • Ao escrever expressões de SQL, Calcular Campo funciona somente com nomes de campo, não nomes alternativos de campo. A lista Campos mostra a você todos os nomes de campo disponíveis para cálculos. Você pode filtrar esta lista pelos tipos de campo String, Numérico e Data.
    • Se você pairar sobre um nome de campo na lista Campos, o nome alternativo e tipo de campo serão exibidos.
    • Se você clicar em um nome de campo na lista Campos, o campo será adicionado à expressão.
  • Você não pode calcular valores de campo em cópias das camadas de feição hospedadas, camadas de feição hospedadas que tenham camadas de mosaico relacionadas, camadas de feição de espaço-tempo hospedadas ou de visualizações criadas a partir das camadas de feição de espaço-tempo hospedadas.
  • Somente consultas SQL padronizadas são suportadas ao calcular valores de campo.
  • Você não pode utilizar a função MOD numérica em campos duplos. Molde o campo para um inteiro, como mostrado no exemplo.
  • Não é possível gravar expressões Arcade para camadas de feição hospedadas que tenham sincronização habilitada ou estejam configuradas para rastrear quem criou e atualizou as últimas feições.

Referência de SQL padronizada (SQL-92)

Quando você gravar uma expressão de SQL para calcular valores de campo, utilize SQL padronizada. Esta seção fornece uma lista dos operadores e funções de SQL que você pode utilizar para cálculos de SQL no ArcGIS Enterprise.

Após ter criado sua expressão, clique no botão Calcular. Se houver quaisquer erros, uma mensagem de erro aparece na parte inferior da caixa de diálogo. Corrija a sintaxe da expressão e calcule novamente.

Operadores

Na caixa de diálogo Calcular Campo você pode construir expressões SQL simples utilizando operadores, tais como, mais, menos, multiplicar e dividir. Exemplos e dicas para utilizar estes operadores são os seguintes:

  • Para multiplicar todos os valores em um campo numérico denominado SAMPLE por 100.0, digite SAMPLE * 100.0 para a expressão.
  • Para equações mais complexas, você pode utilizar os parênteses para especificar a ordem de cálculos, por exemplo, SAMPLE * (BASELINE - 40).
  • Os operadores matemáticos não funcionam com campos de string. Você precisará utilizar as funções da string descrita na seção Funções da string.
  • Se você estiver calculando um campo de tipo duplo para o campo de tipo inteiro, a função CAST poderá ser automaticamente adicionada na sua expressão. Por exemplo, se você estiver calculando uma campo duplo nomeado POP para um campo inteiro nomeado SAMPLE, a expressão aparecerá como CAST(SAMPLE AS FLOAT) Não remova a função CAST. Consulte as Funções numéricas abaixo para informações sobre a função CAST.
  • Para incluir uma apóstrofe na string, utilize duas aspas únicas para a apóstrofe. Por exemplo, 'Nightingale''s'. Não utilize aspas duplas.

Funções

Além de operadores de expressões simples utilizando operadores, você também pode utilizar funções para construir expressões SQL. As funções trabalham com nomes de campo, literais e outras funções. Por exemplo, suponha que você precise calcular um campo duplo para ser TOTALPOP dividido por POP18. Se qualquer feição tiver um POP18 igual a zero, o cálculo resultará em um erro de divisão por zero. Você pode guardar isto utilizando a função NULLIF descrita abaixo. A expressão seria TOTALPOP / NULLIF(POP18, 0).

As funções utilizam parâmetros. Nas tabelas abaixo, qualquer parâmetro pode ser como segue:

  • Um nome de campo, desde que o tipo de campo corresponda ao tipo de parâmetro (string, número ou data).
  • Um literal, como 'Sailboat' (uma string cercada por aspas únicas), o número 5 ou uma data no formato MM/DD/YYYY hh:mm:ss, cercado por aspas únicas.
  • Uma função que retorna um valor do tipo adequado (string, número, data). Por exemplo, FLOOR(POWER(SAMP_ERR, 0.5)) retorna o maior inteiro que é menor ou igual a raiz quadrada de SAMP_ERR.

Para propósitos ilustrativos, os exemplos na coluna de descrição das tabelas abaixo utilizam principalmente parâmetros literais. Você pode substituir um nome de campo ou outra função para estes parâmetros.

Funções de data

Vários cálculos podem ser executados em campos de data. Por exemplo, você pode adicionar ou subtrair tempo de um campo de data ou calcular a diferença entre dois campos de data.

Ao trabalhar com campos de data, leia estas considerações importantes.

Você pode utilizar qualquer combinação dos campos de número e data, e literais ao calcular campos de data. Quando tiver literais de data, você deverá utilizar formatos de data suportados pelo SQL.

As seguintes funções de data estão disponíveis:

FunçãoDescrição

CURRENT_DATE

Retorna a data atual no horário UTC.

O que você vê no cliente depende do cliente que você está utilizando. No site da web do portal, as datas são exibidas no fuso horário do seu navegador.

O seguinte exemplo retorna todos os valores no campo inspection_date que tenham uma data posterior à data de hoje:

inspection_date > CURRENT_DATE

CURRENT_TIMESTAMP

Retorna a data e hora atuais de UTC (horas, minutos, segundos).

O que você vê no cliente depende do cliente que você está utilizando. No site da web do portal, a hora é exibida no horário local do seu navegador.

Neste exemplo, todos os valores do espaço de tempo anteriores à data de hoje e hora atual (em UTC) são retornados ao campo appointments :

appointments < CURRENT_TIMESTAMP

EXTRACT(<unit> FROM '<date>')

Retorne uma parte única (<unit>) da <date> especificada. Os possíveis valores de <unit> incluem, mas não se limitam ao ano, mês, dia, hora e minuto.

Os exemplos incluem o seguinte:

  • EXTRACT(MONTH FROM '12-21-2016')—retorna 12.
  • EXTRACT(DAY FROM '12-21-2016 12:00')—retorna 21.
  • EXTRACT(HOUR FROM '12-21-2016 15:00:44')—retorna 15.

Funções numéricas

FunçãoDescrição

ABS(<number>)

Retorna o valor absoluto (positivo) do número que você especificar.

CEILING(<number>)

Retorna o menor inteiro maior que, ou igual ao número especificado.

Exemplo

  • CEILING(12.93)—o resultado é 13.

COS(<number>)

Retorna o co-seno trigonométrico de <number>, que é assumido para ser um ângulo em radianos.

CAST(<number>AS FLOAT | INT)

Converte um número para um tipo diferente. FLOAT converte o número especificado para um duplo e INT converte para um inteiro.

FLOOR(<number>)

Retorna o maior inteiro que é menor ou igual ao número especificado.

Exemplo

  • FLOOR(12.93)—o resultado é 12.

LN(<number>,<decimal_place>)

O logaritmo natural do número especificado.

LOG(<number>,<decimal_place>)

O logaritmo de base 10 do número especificado.

MOD(<number>, <n>)

Retorna o restante após o dividendo (<number>) ser dividido pelo divisor <n>. Ambos <n> e <number> devem ser do tipo inteiro.

Os exemplos incluem o seguinte:

  • MOD(10, 4)—o resultado é 2.
  • MOD(CAST(DBLFIELD AS INT), 4)DBLFIELD é um campo do tipo duplo, então a função CAST é necessária para converter valores duplos para inteiro.

NULLIF(<number>, <value>)

Retorna null se o número especificado for igual ao valor especificado. NULLIF é comumente utilizado para evitar erros de divisão por zero configurando <value> para 0.

Sempre que um cálculo encontrar um valor de campo null em alguns dos seus parâmetros, o resultado do cálculo será null.

Por exemplo, suponha que você precise calcular um campo duplo para ser TOTALPOP dividido por POP18. Se qualquer feição tiver um valor POP18 igual a zero, o cálculo resultará em um erro de divisão por zero. Você pode criar um filtro para ocultar registros onde POP18 é zero, e executar seu cálculo. Um atalho é utilizar NULLIF.

  • TOTALPOP / NULLIF(POP18, 0)—retorna null se POP18 for igual a zero; caso contrário, o valor TOTALPOP / POP18 será retornado.

POWER(<number> , <y>)

Retorna o valor do número especificado elevado à potência especificada (<y>).

ROUND(<number> , <length>)

Arredonda o número especificado para o comprimento especificado.

Se você utilizar um número positivo para <length>, o número será arredondado para a posição decimal especificada por <length>. Quando <length> é um número negativo, o <number> especificado é arredondado no lado esquerdo do ponto decimal.

Exemplos

  • ROUND(10.9934,2)—retorna 10,99.
  • ROUND(10.9964,2)—retorna 11,00.
  • ROUND(111.0,-2)—retorna 100.00.

SIN(<number>)

Retorna o seno trigonométrico do <number> especificado, que é assumido como sendo um ângulo em radianos.

TAN(<number>)

Retorna a tangente do <number> especificado, que é assumido como sendo um ângulo em radianos.

TRUNC(<number>,<decimal_place>)

Trunca o <number> na <decimal_place> especificada.

Uma <decimal_place> positiva trunca para a posição decimal especificada. Quando <decimal_place> é um número negativo, o <number> é truncado no lado esquerdo do ponto decimal.

Exemplos

  • TRUNC(111.996,2)—retorna 111.99.
  • TRUNC(111.996,-2)—retorna 100.00.

Funções de string

FunçãoDescrição

CHAR_LENGTH(<string>)

Retorna o número de caracteres na string especificada. O resultado é um inteiro.

Exemplo

  • CHAR_LENGTH('Redlands')—o resultado é 8.

CONCAT(<string1>, <string2>)

Concatena dois valores de string.

Somente duas strings podem ser fornecidas. Para concatenar mais de duas strings, insira funções CONCAT consecutivas como mostrado abaixo.

Exemplos

  • CONCAT('A', 'B')—o resultado é 'AB'.
  • CONCAT('A', CONCAT(':', 'B'))—o resultado é 'A:B'.

Os valores nulos são convertidos em uma string vazia.

POSITION(<substring> in <string>)

Retorna a posição da primeira ocorrência da substring especificada na string que você especificar. Se substring especificada não for localizada, o resultado será 0.

Exemplos

  • POSITION('boat'in 'Sailboat')—o resultado é 5.
  • POSITION('motor'in 'Sailboat')—o resultado é 0.

SUBSTRING(<string>, <start>, <length>)

Retorna uma parte de um valor de string; <start> é um índice inteiro especificando onde iniciam os caracteres retornados e <length> é o número de caracteres para ser retornado.

Exemplos

  • SUBSTRING('Sailboat', 5, 4)—o resultado é 'boat'.
  • SUBSTRING('Sailboat', 1, 4)—o resultado é 'Sail'.
  • SUBSTRING('Sailboat', 5, 100)—o resultado é 'boat'.

TRIM(BOTH | LEADING | TRAILING ' ' FROM <string>)

Retorna uma string onde todos os espaços iniciais ou finais são removidos da string especificada.

Exemplo

  • TRIM(BOTH ' ' FROM ' San Bernardino ')—o resultado é 'San Bernardino'.

Note que o segundo parâmetro são duas aspas únicas com um espaço entre elas.

UPPER(<string>)

Retorna uma string onde todos os caracteres são convertidos em letra maiúscula.

Exemplo

  • UPPER('Sailboat')—o resultado é 'SAILBOAT'.

LOWER(<string>)

Retorna uma string onde todos os caracteres são convertidos em letra minúscula.

Exemplo

  • LOWER('Sailboat')—o resultado é 'sailboat'.