Partilhar via


Funções de cadeia de caracteres

A tabela a seguir lista as funções de manipulação de cadeia de caracteres. Um aplicativo pode determinar quais funções de cadeia de caracteres são suportadas por um driver chamando SQLGetInfo com um de tipo de informação de SQL_STRING_FUNCTIONS.

Comentários

Os argumentos indicados como string_exp podem ser o nome de uma coluna, umaliteral de cadeia de caracteres ou o resultado de outra função escalar, onde o tipo de dados subjacente pode ser representado como SQL_CHAR, SQL_VARCHAR ou SQL_LONGVARCHAR.

Os argumentos indicados como character_exp são uma cadeia de caracteres de comprimento variável.

Os argumentos indicados como início, comprimentoou contagem podem ser um numérico-literal ou o resultado de outra função escalar, onde o tipo de dados subjacente pode ser representado como SQL_TINYINT, SQL_SMALLINT ou SQL_INTEGER.

As funções de cadeia de caracteres listadas aqui são baseadas em 1; ou seja, o primeiro caractere na cadeia de caracteres é o caractere 1.

As funções escalares de cadeia de caracteres BIT_LENGTH, CHAR_LENGTH, CHARACTER_LENGTH, OCTET_LENGTH e POSITION foram adicionadas no ODBC 3.0 para alinhar com o SQL-92.

Função Descrição
ASCII(string_exp) (ODBC 1.0) Retorna o valor do código ASCII do caractere mais à esquerda de string_exp como um inteiro.
BIT_LENGTH(string_exp) (ODBC 3.0) Retorna o comprimento em bits da expressão de cadeia de caracteres.

Não funciona apenas para tipos de dados de cadeia de caracteres, portanto, não converterá implicitamente string_exp em cadeia de caracteres, mas retornará o tamanho (interno) de qualquer tipo de dados fornecido.
CHAR(código) (ODBC 1.0) Retorna o caractere que tem o valor de código ASCII especificado por código. O valor de código deve estar entre 0 e 255; caso contrário, o valor de retorno depende da fonte de dados.
CHAR_LENGTH(string_exp) (ODBC 3.0) Retorna o comprimento em caracteres da expressão de cadeia de caracteres, se a expressão de cadeia de caracteres for de um tipo de dados de caractere; caso contrário, retorna o comprimento em bytes da expressão de cadeia de caracteres (o menor inteiro não inferior ao número de bits dividido por 8). (Esta função é a mesma que a função CHARACTER_LENGTH.)
CHARACTER_LENGTH(string_exp) (ODBC 3.0) Retorna o comprimento em caracteres da expressão de cadeia de caracteres, se a expressão de cadeia de caracteres for de um tipo de dados de caractere; caso contrário, retorna o comprimento em bytes da expressão de cadeia de caracteres (o menor inteiro não inferior ao número de bits dividido por 8). (Esta função é a mesma que a função CHAR_LENGTH.)
CONCAT(string_exp1,string_exp2) (ODBC 1.0) Retorna uma cadeia de caracteres que é o resultado da concatenação de string_exp2 para string_exp1. A cadeia de caracteres resultante é dependente do DBMS. Por exemplo, se a coluna representada por string_exp1 contivesse um valor NULL, o DB2 retornaria NULL, mas o SQL Server retornaria a cadeia de caracteres não NULL.
DIFERENÇA(string_exp1,string_exp2) (ODBC 2.0) Retorna um valor inteiro que indica a diferença entre os valores retornados pela função SOUNDEX para string_exp1 e string_exp2.
INSERT(string_exp1, iniciar, comprimento, string_exp2) (ODBC 1.0) Retorna uma cadeia de caracteres onde comprimento caracteres foram excluídos do string_exp1, começando em inícioe onde string_exp2 foi inserido no string_exp, começando em início.
LCASE(string_exp) (ODBC 1.0) Retorna uma cadeia de caracteres igual à do string_exp, com todos os caracteres maiúsculos convertidos em minúsculas.
LEFT(string_exp, count) (ODBC 1.0) Devolve a contagem de mais à esquerda carateres de string_exp.
COMPRIMENTO(string_exp) (ODBC 1.0) Retorna o número de caracteres em string_exp, excluindo espaços em branco à direita.

LENGTH só aceita strings. Portanto, implicitamente converterá string_exp em uma cadeia de caracteres e retornará o comprimento dessa cadeia de caracteres (não o tamanho interno do tipo de dados).
LOCALIZAR(string_exp1, string_exp2[, iniciar]) (ODBC 1.0) Devolve a posição inicial da primeira ocorrência de string_exp1 dentro de string_exp2. A busca pela primeira ocorrência de string_exp1 começa com a posição do primeiro caractere em string_exp2 a menos que o argumento opcional, iniciar, seja especificado. Se início for especificado, a pesquisa começará com a posição do caractere indicada pelo valor de início. A posição do primeiro caractere em string_exp2 é indicada pelo valor 1. Se string_exp1 não for encontrado dentro de string_exp2, o valor 0 será retornado.

Se um aplicativo puder chamar a função escalar LOCATE com os argumentos string_exp1, string_exp2e iniciar, o driver retornará SQL_FN_STR_LOCATE quando SQLGetInfo for chamado com uma de opção de de SQL_STRING_FUNCTIONS. Se o aplicativo puder chamar a função escalar LOCATE apenas com os argumentos string_exp1 e string_exp2, o driver retornará SQL_FN_STR_LOCATE_2 quando SQLGetInfo for chamado com um de opção de de SQL_STRING_FUNCTIONS. Os drivers que suportam chamar a função LOCATE com dois ou três argumentos retornam SQL_FN_STR_LOCATE e SQL_FN_STR_LOCATE_2.
LTRIM(string_exp) (ODBC 1.0) Retorna os caracteres de string_exp, com espaços em branco à esquerda removidos.
OCTET_LENGTH(string_exp) (ODBC 3.0) Retorna o comprimento em bytes da expressão de cadeia de caracteres. O resultado é o menor número inteiro não inferior ao número de bits dividido por 8.

Não funciona apenas para tipos de dados de cadeia de caracteres, portanto, não converterá implicitamente string_exp em cadeia de caracteres, mas retornará o tamanho (interno) de qualquer tipo de dados fornecido.
POSIÇÃO(character_expEMcharacter_exp) (ODBC 3.0) Retorna a posição da primeira expressão de caractere na segunda expressão de caractere. O resultado é um número exato com uma precisão definida pela implementação e uma escala de 0.
REPEAT(string_exp,count) (ODBC 1.0) Retorna uma cadeia de caracteres composta por string_exp contagem de repetida vezes.
REPLACE(string_exp1, string_exp2, string_exp3) (ODBC 1.0) Pesquise string_exp1 ocorrências de string_exp2e substitua por string_exp3.
RIGHT(string_exp, count) (ODBC 1.0) Retorna a contagem de mais à direita caracteres de string_exp.
RTRIM(string_exp) (ODBC 1.0) Retorna os caracteres de string_exp com espaços em branco à direita removidos.
SOUNDEX(string_exp) (ODBC 2.0) Retorna uma cadeia de caracteres dependente da fonte de dados que representa o som das palavras em string_exp. Por exemplo, o SQL Server retorna um código SOUNDEX de 4 dígitos; Oracle retorna uma representação fonética de cada palavra.
SPACE(count) (ODBC 2.0) Retorna uma cadeia de caracteres que consiste em contagem espaços.
SUBSTRING(string_exp, start, length**)** (ODBC 1.0) Retorna uma cadeia de caracteres derivada de string_exp, começando na posição de caractere especificada por início para comprimento caracteres.
UCASE(string_exp) (ODBC 1.0) Retorna uma cadeia de caracteres igual à do string_exp, com todos os caracteres minúsculos convertidos em maiúsculas.