Literals

Um literal representa um valor constante de um tipo de dados incorporado. Alguns, mas não todos, os tipos de dados podem ser expressos como literais.

Literais de string

Os literais de string têm de estar entre aspas, simples ( ' ) ou duplas ( " ).

Quoted literals:

Literal Exemplos de utilização Notas
String entre aspas
  • "abc"
  • "it's"
  • 'it\'s'
  • 'Title: "Boy"'
  • As strings entre aspas simples ( ' ) podem conter aspas duplas ( " ) sem caráter de escape, bem como o inverso.
  • As barras invertidas ( \ ) introduzem sequências de escape. Consulte a tabela de sequências de escape abaixo.
  • As strings entre aspas não podem conter novas linhas, mesmo quando precedidas por uma barra invertida ( \ ).
String não processada
  • R"abc+"
  • r'f\(abc,(.\*),def\)'
  • Os literais entre aspas que têm o prefixo literal de string não processada ( r ou R ) são interpretados como strings não processadas/de expressão regular.
  • Os carateres de barra invertida ( \ ) não funcionam como carateres de escape. Se ocorrer uma barra invertida seguida de outro caráter no literal de string, ambos os carateres são preservados.
  • Uma string não processada não pode terminar com um número ímpar de barras invertidas.
  • As strings não processadas são úteis para criar expressões regulares.

Sequências de escape para literais de string

A tabela seguinte apresenta todas as sequências de escape válidas para representar carateres não alfanuméricos em literais de strings. Qualquer sequência que não esteja nesta tabela produz um erro.

Sequência de escape Descrição
\a Bell
\b Retrocesso
\f Formfeed
\n Newline
\r Retorno de carro
\t Tab
\v Separador vertical
\\ Barra invertida ( \ )
\? Ponto de interrogação ( ? )
\" Aspas ( " )
\' Aspas simples ( ' )
\\` Acento grave ( \` )
\ooo Escape octal, com exatamente 3 dígitos (no intervalo 0–7). Descodifica para um único caráter Unicode (em literais de string) ou byte (em literais de bytes).
\xhh ou \Xhh Sequência de escape hexadecimal com exatamente 2 algarismos hexadecimais (0 a 9 ou A a F ou a a f). Descodifica para um único caráter Unicode (em literais de string) ou byte (em literais de bytes). Exemplos:
  • '\x41' == 'A'
  • '\x41B' corresponde a 'AB'
  • '\x4' é um erro
\uhhhh Escape Unicode, com "u" minúsculo e exatamente 4 dígitos hexadecimais. Válido apenas em identificadores ou literais de strings.

Tenha em atenção que o intervalo D800-DFFF não é permitido, uma vez que se trata de valores Unicode substitutos.
\Uhhhhhhhh Escape Unicode, com "U" em maiúsculas e exatamente 8 dígitos hexadecimais. Válido apenas em identificadores ou literais de strings.

O intervalo D800-DFFF não é permitido, uma vez que estes valores são valores Unicode substitutos. Além disso, não são permitidos valores superiores a 10FFFF.

Valores literais de data

Para usar valores literais de data e hora num campo calculado, pode preceder o valor com o marcador adequado:

Literal Formato de data canónico Exemplos de utilização
Data AAAA-[M]M-[D]D DATE '2021-4-1'
Data e hora AAAA-[M]M-[D]D [[H]H:[M]M:[S]S] DATETIME '2021-5-29 23:59:59'

Literais numéricos

Introduza literais numéricos com valores inteiros ou de vírgula flutuante sem aspas. Por exemplo:

Literal Exemplos Exemplos de utilização
Número inteiro 1, -1, 0
  • 2 + 2
  • CASE WHEN Cost > 100 THEN...
Vírgula flutuante 1.23, -1.2345
  • SQRT(3.14)
  • FLOOR(-42.123)

Literais booleanos

Use os valores literais true e false quando avaliar expressões booleanas. Por exemplo:

IF( Boolean field = true, "yes","no")

IF( Boolean field = false, "no","yes")
IF( Boolean field, "yes","no")

IF(not Boolean field, "yes","no")