Compartilhar 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 compatíveis com um driver chamando SQLGetInfo com um tipo de informação de SQL_STRING_FUNCTIONS.

Comentários

Os argumentos indicados como string_exp podem ser o nome de uma coluna, um literal de cadeia de caracteres ou o resultado de outra função escalar, em que 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, comprimento ou contagem podem ser numéricos-literais ou o resultado de outra função escalar, em que 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 se alinharem ao 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 número 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 string, portanto, não converterá implicitamente string_exp em string, 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 pelo código. O valor do código deve estar entre 0 e 255; caso contrário, o valor retornado depende da fonte de dados.
CHAR_LENGTH( string_exp ) (ODBC 3.0) Retornará o comprimento da expressão de cadeia de caracteres em caracteres se ela for do tipo de dados de caractere, caso contrário, retornará o comprimento da expressão em bytes (o menor número inteiro não menor que o número de bits dividido por 8). (Essa função é igual à função CHARACTER_LENGTH.)
CHARACTER_LENGTH( string_exp ) (ODBC 3.0) Retornará o comprimento da expressão de cadeia de caracteres em caracteres se ela for do tipo de dados de caractere, caso contrário, retornará o comprimento da expressão em bytes (o menor número inteiro não menor que o 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 de DBMS. Por exemplo, se a coluna representada por string_exp1 contivesse um valor NULL, o DB2 retornaria NULL, mas o SQL Server retornaria a sequência 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, início, comprimento, string_exp2) (ODBC 1.0) Retorna uma cadeia de caracteres em que os caracteres de comprimento foram excluídos de string_exp1, começando no início, e em que string_exp2 foi inserido em string_exp, começando no 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, contagem) (ODBC 1.0) Retorna os caracteres de contagem mais à esquerda 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 aceita apenas strings. Portanto, converterá implicitamente string_exp em uma cadeia de caracteres e retornará o comprimento dessa cadeia de caracteres (não o tamanho interno do tipo de dados).
LOCATE( string_exp1, string_exp2[, start]) (ODBC 1.0) Retorna a posição inicial da primeira ocorrência de string_exp1 dentro de string_exp2. A pesquisa pela primeira ocorrência de string_exp1 começa com a primeira posição do caractere em string_exp2 a menos que o argumento opcional, start, seja especificado. Se start for especificado, a pesquisa começará com a posição do caractere indicada pelo valor de start. A primeira posição do caractere em string_exp2 é indicada pelo valor 1. Se string_exp1 não for encontrado dentro string_exp2, o valor 0 será retornado.

Se um aplicativo puder chamar a função escalar LOCATE com os argumentos string_exp1, string_exp2 e start , o driver retornará SQL_FN_STR_LOCATE quando SQLGetInfo for chamado com uma Option 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 uma Option de SQL_STRING_FUNCTIONS. Os drivers que dão suporte à chamada da 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 os 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 menos que o número de bits dividido por 8.

Não funciona apenas para tipos de dados de string, portanto, não converterá implicitamente string_exp em string, mas retornará o tamanho (interno) de qualquer tipo de dados fornecido.
POSITION( character_exp IN character_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, contagem) (ODBC 1.0) Retorna uma cadeia de caracteres composta por string_exp tempos de contagem repetidos.
REPLACE( string_exp1, string_exp2, string_exp3) (ODBC 1.0) Pesquise string_exp1 ocorrências de string_exp2 e substitua por string_exp3.
RIGHT( string_exp, contagem) (ODBC 1.0) Retorna os caracteres de contagem mais à direita de string_exp.
RTRIM( string_exp ) (ODBC 1.0) Retorna os caracteres de string_exp com os 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.
ESPAÇO( contagem ) (ODBC 2.0) Retorna uma cadeia de caracteres que consiste em espaços de contagem .
SUBSTRING( string_exp, início, comprimento**)** (ODBC 1.0) Retorna uma cadeia de caracteres derivada de string_exp, começando na posição do caractere especificada por start para caracteres de comprimento .
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.