Funções de sequência
Com CLEM, é possível executar operações para comparar sequências, criar sequências ou acessar caracteres.
No CLEM, uma string é qualquer sequência de caracteres entre marcas de aspas duplas correspondentes ("string quotes"). Caracteres (CHAR) podem ser qualquer caractere alfanumérico único. Eles são declarados em expressões CLEM usando aspas simples na forma de `<character>`, como `z`, `A`, ou `2` Caracteres que estão fora dos limites ou índices negativos para uma sequência resultarão em comportamento indefinido.
Nota: Comparações entre strings que fazem e não usam pushback SQL podem gerar resultados diferentes em que espaços de trailing existem.
| Função | Resultado | Descrição |
|---|---|---|
allbutfirst(N, STRING) |
Sequência | Retorna uma sequência, que é STRING com os primeiros caracteres N removidos. |
allbutlast(N, STRING) |
Sequência | Retorna uma sequência, que é STRING com os últimos caracteres removidos. |
alphabefore(STRING1, STRING2) |
Booleano | Usado para verificar a ordem alfabética de sequências. Retorna true se STRING1 antecede STRING2 |
count_substring(STRING, SUBSTRING) |
Número Inteiro | Retorna o número de vezes que a subsequência especificada ocorre na sequência. Por exemplo, count_substring("foooo.txt", "oo") retorna 3.. |
endstring(LENGTH, STRING) |
Sequência | Extrai os últimos caracteres N da sequência especificada. Se o comprimento da sequência for menor ou igual ao comprimento especificado, ele ficará inalterado. |
hasendstring(STRING, SUBSTRING) |
Número Inteiro | Essa função é a mesma de isendstring(SUBSTRING, STRING). |
hasmidstring(STRING, SUBSTRING) |
Número Inteiro | Esta função é a mesma de ismidstring(SUBSTRING, STRING) (substring incorporada). |
hasstartstring(STRING, SUBSTRING) |
Número Inteiro | Essa função é a mesma de isstartstring(SUBSTRING, STRING). |
hassubstring(STRING, N, SUBSTRING) |
Número Inteiro | Essa função é a mesma que issubstring(SUBSTRING, N, STRING), em que N é padronizada como 1 |
hassubstring(STRING, SUBSTRING) |
Número Inteiro | Essa função é a mesma que issubstring(SUBSTRING, 1, STRING), em que N é padronizada como 1 |
isalphacode(CHAR) |
Booleano | Retorna um valor true se CHAR for um caractere na sequência especificada (geralmente um nome de campo) cujo código de caractere é uma letra. Caso contrário, essa função retorna um valor de 0. Por exemplo, isalphacode(produce_num(1)).. |
isendstring(SUBSTRING, STRING) |
Número Inteiro | Se a sequência STRING terminar com a subsequência SUBSTRING, essa função retornará o subscrito inteiro de SUBSTRING em STRING. Caso contrário, essa função retorna um valor de 0. |
islowercode(CHAR) |
Booleano | Retorna um valor de true se CHAR for um caractere de letra minúscula para a sequência especificada (geralmente um nome de campo). Caso contrário, essa função retorna um valor de 0. Por exemplo, islowercode(``) e islowercode(country_name(2)) são expressões válidas. |
ismidstring(SUBSTRING, STRING) |
Número Inteiro | Se SUBSTRING for uma subsequência de STRING , mas não iniciar no primeiro caractere de STRING ou terminar no último, essa função retornará o subscrito no qual a subsequência é iniciada. Caso contrário, essa função retorna um valor de 0. |
isnumbercode(CHAR) |
Booleano | Retorna um valor de true se CHAR para a sequência especificada (geralmente um nome de campo) for um caractere cujo código de caractere é um dígito. Caso contrário, essa função retorna um valor de 0. Por exemplo, isnumbercode(product_id(2)).. |
isstartstring(SUBSTRING, STRING) |
Número Inteiro | Se a sequência STRING iniciar com a subsequência SUBSTRING, essa função retornará o subscrito 1. Caso contrário, essa função retorna um valor de 0. |
issubstring(SUBSTRING, N, STRING) |
Número Inteiro | Procura na sequência STRING, a partir de seu caractere Nth , uma subsequência igual à sequência SUBSTRING. Se localizada, essa função retorna o subscrito de número inteiro no qual a subsequência correspondente começa. Caso contrário, essa função retorna um valor de 0. Se N não for fornecido, essa função será padronizada como 1. |
issubstring(SUBSTRING, STRING) |
Número Inteiro | Procura a sequência STRING Se localizada, essa função retorna o subscrito de número inteiro no qual a subsequência correspondente começa. Caso contrário, essa função retorna um valor de 0. |
issubstring_count(SUBSTRING, N, STRING) |
Número Inteiro | Retorna o índice da ocorrência Nth de SUBSTRING no STRINGespecificado. Se houver menos de N ocorrências de SUBSTRING, 0 será retornado |
issubstring_lim(SUBSTRING, N, STARTLIM, ENDLIM, STRING) |
Número Inteiro | Esta função é a mesma que issubstring, mas a correspondência é restrita para iniciar em STARTLIM e terminar em ENDLIM. As restrições STARTLIM ou ENDLIM podem ser desativadas fornecendo um valor de false para qualquer argumento-por exemplo, issubstring_lim(SUBSTRING, N, false, false,
STRING) é o mesmo que issubstring. |
isuppercode(CHAR) |
Booleano | Retorna um valor true se CHAR for um caractere de letra maiúscula. Caso contrário, essa função retorna um valor de 0. Por exemplo, isuppercode(``) e isuppercode(country_name(2)) são expressões válidas. |
last(STRING) |
Sequência | Retorna o último caractere CHAR de STRING (que deve ter pelo menos um caractere). |
length(STRING) |
Número Inteiro | Retorna o comprimento da sequência STRING (ou seja, o número de caracteres nela). |
locchar(CHAR, N, STRING) |
Número Inteiro | Usado para identificar o local de caracteres em campos simbólicos A função procura na sequência STRING o caractere CHAR, iniciando a procura no caractere Nth de STRING. Esta função retorna um valor indicando o local (começando em N) onde o caractere é localizado. Se o caractere não for localizado, essa função retornará um valor de 0. Se a função tiver um deslocamento inválido (N) (por exemplo, um deslocamento que está além do comprimento da cadeia), esta função retornará $null$. Por exemplo, locchar(`n`, 2,
web_page) procura no campo chamado web_page o caractere `n` que começa no segundo caractere no valor do campo. Certifique-se de usar aspas simples para encapsular o caractere especificado. |
locchar_back(CHAR, N, STRING) |
Número Inteiro | Semelhante a locchar, exceto que a procura é executada para trás a partir do caractere Nth . Por exemplo, locchar_back(`n`, 9,
web_page) procura o campo web_page começando do nono caractere e movendo-se para trás em direção ao início da sequência. Se a função tiver um deslocamento inválido (por exemplo, um deslocamento que está além do comprimento da cadeia), esta função retornará $null$.. O ideal é usar locchar_back em conjunto com a função length(<field>) para usar dinamicamente o comprimento do valor atual do campo. Por exemplo, locchar_back(`n`, (length(web_page)), web_page).. |
lowertoupper(CHAR) lowertoupper (STRING) |
CHAR ou String | A entrada pode ser uma sequência ou caractere, que é usado nessa função para retornar um novo item do mesmo tipo, com quaisquer caracteres minúsculos convertidos para seus equivalentes em maiúsculas. Por exemplo, lowertoupper(`a`), lowertoupper(“My string”)e lowertoupper(field_name(2)) são todas expressões válidas. |
matches |
Booleano | Retornará true se uma sequência corresponder a um padrão especificado O padrão deve ser uma sequência literal; ele não pode ser um nome de campo que contenha um padrão É possível incluir um ponto de interrogação (?) no padrão para corresponder exatamente um caractere; um asterisco (*) corresponde a zero ou mais caracteres. Para corresponder um ponto de interrogação ou asterisco literal (em vez de usá-los como curingas), use uma barra invertida (\) como um caractere de escape. |
replace(SUBSTRING, NEWSUBSTRING, STRING) |
Sequência | Dentro do STRINGespecificado, substitua todas as instâncias de SUBSTRING por NEWSUBSTRING |
replicate(COUNT, STRING) |
Sequência | Retorna uma sequência que consiste na sequência original copiada o número especificado de vezes |
stripchar(CHAR,STRING) |
Sequência | Permite remover caracteres especificados de uma sequência ou campo. É possível usar essa função, por exemplo, para remover símbolos extras, como notações de moeda, dos dados para atingir um número ou um nome simples. Por exemplo, o uso da sintaxe stripchar(`$`, 'Cost') retorna um novo campo com o sinal de dólar removido de todos os valores Certifique-se de usar aspas simples para encapsular o caractere especificado. |
skipchar(CHAR, N, STRING) |
Número Inteiro | Procura a sequência STRING para qualquer caractere diferente de CHAR, iniciando no caractere Nth Essa função retorna uma subsequência de números inteiros indicando o ponto no qual um é localizado ou 0 se cada caractere do Nth em diante for um CHAR. Se a função tiver um deslocamento inválido (por exemplo, um deslocamento que está além do comprimento da cadeia), esta função retornará $null$.. locchar geralmente é usado em conjunto com as funções skipchar para determinar o valor de N (o ponto no qual iniciar a procura da sequência).. Por exemplo, skipchar(`s`, (locchar(`s`, 1,
"MyString")), "MyString").. |
skipchar_back(CHAR, N, STRING) |
Número Inteiro | Semelhante a skipchar, exceto que a procura é executada para trás, começando com o caractere Nth . |
startstring(N, STRING) |
Sequência | Extrai os primeiros caracteres N da sequência especificada. Se o comprimento da sequência for menor ou igual ao comprimento especificado, ele ficará inalterado. |
strmember(CHAR, STRING) |
Número Inteiro | Equivalente a locchar(CHAR, 1, STRING).. Ele retorna uma subsequência de números inteiros indicando o ponto no qual o CHAR primeiro ocorre ou 0. Se a função tiver um deslocamento inválido (por exemplo, um deslocamento que está além do comprimento da cadeia), esta função retornará $null$.. |
subscrs(N, STRING) |
CARACTERE | Retorna o Nth caractere CHAR da sequência de entrada STRING. Essa função também pode ser gravada em um formato abreviado como STRING(N) Por exemplo, lowertoupper(“name”(1)) é uma expressão válida.. |
substring(N, LEN, STRING) |
Sequência | Retorna uma sequência SUBSTRING, que consiste nos LEN caracteres da sequência STRING, começando com o caractere no subscrito N. |
substring_between(N1, N2, STRING) |
Sequência | Retorna a subsequência de STRING, que começa no subscrito N1 e termina no subscrito N2. |
textsplit(STRING, N, CHAR) |
Sequência | textsplit(STRING,N,CHAR) retorna a subsequência entre Nth-1 e Nth ocorrência de CHAR. Se N for 1, ele retornará a subsequência do início de STRING até, mas não incluindo CHAR. Se N-1 for a última ocorrência de CHAR, ele retornará a subsequência da Nth-1 ocorrência de CHAR para o final da sequência.. |
trim(STRING) |
Sequência | Remove caracteres de espaço em branco iniciais e finais da sequência especificada. |
trimstart(STRING) |
Sequência | Remove caracteres de espaço em branco iniciais da sequência especificada. |
trimend(STRING) |
Sequência | Remove caracteres de espaço em branco finais da sequência especificada. |
unicode_char(NUM) |
CARACTERE | A entrada deve ser valores decimais, não hexadecimais Retorna o caractere com valor Unicode NUM. |
unicode_value(CHAR) |
NÚMERO | Retorna o valor Unicode de CHAR.. |
uppertolower(CHAR) uppertolower (STRING) |
CHAR ou String | A entrada pode ser uma sequência ou caractere e é usada nessa função para retornar um novo item do mesmo tipo com quaisquer caracteres maiúsculos convertidos para seus equivalentes minúsculos. Lembre-se de especificar sequências com aspas duplas e caracteres com aspas simples. Os nomes de campo simples devem ser especificados sem aspas |