A função SQLite substr
retorna uma substring de uma string começando em uma posição especificada com um comprimento predefinido.
Sintaxe
substr( string, start, length )
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
A posição inicial da substring é determinada pelo start
argumento e seu comprimento é determinado pelo length
argumento.
Argumentos
A substr()
função aceita três argumentos.
corda
A string a ser usada para extrair a substring.
começar
O start
argumento é um número inteiro que especifica a posição inicial da substring retornada. O start
argumento pode ser um número inteiro positivo ou negativo
- Se
start
for um número inteiro positivo, asubstr()
função retornará uma substring começando no início da string. O primeiro caractere tem um índice de 1. - Se the
start
for um número inteiro negativo, a substring retornada consistirá nolength
número de caracteres começando no final dostring
. O último caractere possui um índice de -1.
Veja a imagem a seguir de um exemplo de string com o positivo e o negativostart
comprimento
O length
argumento determina o comprimento da substring. O argumento de comprimento é opcional. Se for omitido, será assumido como o número inteiro positivo máximo.
Se algum argumento for NULL, a substr()
função retornará NULL.
Tipo de retorno
TEXTO
Exemplos
Veja a seguinte sequência:
A instrução a seguir extrai e retorna uma substring da SQLite substr
string:
SELECT substr('SQLite substr', 1, 6);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
substr('SQLite substr', 1, 6) ----------------------------- SQLite
A instrução a seguir retorna uma substring de uma string usando um start
argumento negativo.
SELECT substr('SQLite substr', - 6, 6);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
substr('SQLite substr', -6, 6)
-----------------------------
substr
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
A instrução a seguir ilustra como usar a substr()
função com um length
argumento negativo.
SELECT substr('SQLite substr', 7, -6)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
substr('SQLite substr', 7, -6)
-----------------------------
SQLite
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
A instrução a seguir demonstra como usar a substr
função apenas com os dois primeiros argumentos, o length
argumento é omitido.
SELECT substr('SQLite substr', 8);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
substr('SQLite substr', 8)
-----------------------------
substr
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
A instrução a seguir retorna todos os nomes de faixas da tracks
tabela no banco de dados de amostra . Ele classifica os nomes das faixas por duração:
SELECT
Name
FROM
tracks
ORDER BY
LENGTH(name) DESC;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Aqui está a saída parcial:
A instrução a seguir usa a função substr() para obter apenas os primeiros 20 caracteres dos nomes das faixas se os comprimentos dos nomes forem maiores que 20; caso contrário, ele retornará os nomes inteiros:
SELECT
CASE
WHEN LENGTH(Name) > 20 THEN
substr(Name,1,20) || '...'
ELSE
Name
END ShortName
FROM
tracks
ORDER BY
LENGTH(name) DESC;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Esta imagem ilustra a saída parcial:
Observe que se os comprimentos dos nomes das faixas forem maiores que 20, eles serão concatenados com a string "..."
.