Funções de sequência de caracteres

Com o CLEM, é possível executar operações para comparar sequências de caracteres, criar sequências de caracteres 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 estiverem fora dos limites ou forem índices negativos para uma sequência de caracteres resultarão em um 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.
Tabela 1. Funções de sequência de caracteres do CLEM
Função Resultado Descrição
allbutfirst(N, STRING) Sequência Retorna uma sequência de caracteres, que é STRING com os primeiros N caracteres removidos.
allbutlast(N, STRING) Sequência Retorna uma sequência de caracteres, que é STRING com os últimos caracteres removidos.
alphabefore(STRING1, STRING2) Booleano Usado para verificar a ordenação alfabética das sequências de caracteres. Retorna true se STRING1 preceder STRING2.
count_substring(STRING, SUBSTRING) Número inteiro Retorna o número de vezes que a subsequência de caracteres especificada ocorre dentro da sequência de caracteres. Por exemplo, count_substring("foooo.txt", "oo") retorna 3..
endstring(LENGTH, STRING) Sequência Extrai os últimos caracteres N da sequência de caracteres especificada. Se o comprimento da sequência de caracteres for menor que ou igual ao comprimento especificado, ele permanecerá 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 de true se CHAR for um caractere na sequência de caracteres 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 de caracteres STRING terminar com a subsequência de caracteres SUBSTRING, então essa função retornará o número inteiro subscrito 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 caracteres de STRING, mas não começar no primeiro caractere de STRING ou terminar no último, essa função retornará o subscrito no qual a subsequência de caracteres começa. 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 de caracteres 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 for localizada, essa função retornará a inscrição de número inteiro onde começa a subsequência de caracteres correspondente. 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 for localizada, essa função retornará a inscrição de número inteiro onde começa a subsequência de caracteres correspondente. 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 de 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 de comprimento).
length(STRING) Número inteiro Retorna o comprimento da sequência de caracteres STRING (ou seja, o número de caracteres nela).
locchar(CHAR, N, STRING) Número inteiro Usado para identificar a localização dos caracteres em campos simbólicos. A função procura na sequência STRING o caractere CHAR, iniciando a procura no caractere Nth de STRING. Essa função retorna um valor indicando a localização (começando em N) onde o caractere está. Se o caractere não for localizado, esta função retorna o valor 0. Se a função tiver um offset inválido (N) (por exemplo, um offset além do comprimento da sequência de caracteres), essa 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 offset inválido (por exemplo, um offset além do comprimento da sequência de caracteres), essa função retornará $null$. O ideal é usar locchar_back 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 de caracteres ou um caractere, que é usada nessa função para retornar um novo item do mesmo tipo, com quaisquer caracteres minúsculos convertidos em seus equivalentes maiúsculos. 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 da STRING especificada, substitua todas as instâncias de SUBSTRING por NEWSUBSTRING.
replicate(COUNT, STRING) Sequência Retorna uma sequência de caracteres que consiste na sequência de caracteres original copiada o número de vezes especificado.
stripchar(CHAR,STRING) Sequência Permite remover caracteres especificados de uma sequência de caracteres ou campo. É possível usar essa função, por exemplo, para remover símbolos adicionais, como notações de moeda, dos dados para atingir um nome ou número 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 offset inválido (por exemplo, um offset além do comprimento da sequência de caracteres), essa 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 N caracteres da sequência de caracteres especificada. Se o comprimento da sequência de caracteres for menor que ou igual ao comprimento especificado, ele permanecerá inalterado.
strmember(CHAR, STRING) Número inteiro Equivalente à 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 offset inválido (por exemplo, um offset além do comprimento da sequência de caracteres), essa função retornará $null$.
subscrs(N, STRING) CARACT Retorna o Nth caractere CHAR da sequência de entrada STRING. Essa função também pode ser gravada em forma de taquigrafia como STRING(N). Por exemplo, lowertoupper(“name”(1)) é uma expressão válida.
substring(N, LEN, STRING) Sequência Retorna uma sequência de caracteres SUBSTRING, que consiste nos caracteres LEN da sequência de caracteres STRING, começando no caractere no subscrito N.
substring_between(N1, N2, STRING) Sequência Retorna a subsequência de caracteres 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 os caracteres de espaço em branco inicial e final da sequência de caracteres especificada.
trimstart(STRING) Sequência Remove os caracteres de espaço em branco iniciais da sequência de caracteres especificada.
trimend(STRING) Sequência Remove os caracteres de espaço em branco finais da sequência de caracteres especificada.
unicode_char(NUM) CARACT Entrada deve ser valores decimais, e 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 de caracteres ou um caractere e é usada nessa função para retornar um novo item do mesmo tipo, com quaisquer caracteres maiúsculos convertidos em seus equivalentes minúsculos.
Lembre-se de especificar sequências de caracteres com aspas duplas e caracteres com aspas simples. Nomes de campos simples devem ser especificados sem aspas.