PostgreSQL SUBSTRING
A função SUBSTRING
do PostgreSQL é usada para extrair uma parte de uma string com base em índices especificados. Essa função é essencial para lidar com a manipulação de strings e tarefas de análise de dados em um banco de dados.
Uso
A função SUBSTRING
é usada quando você precisa extrair partes de uma cadeia de caracteres, como recuperar uma parte de um campo de texto ou analisar formatos de dados específicos. Ele é usado com frequência em tarefas de transformação e preparação de dados.
SUBSTRING(string FROM start [FOR length])
Nessa sintaxe, string
é a cadeia de caracteres de origem, start
indica a posição inicial e length
é o número de caracteres a serem extraídos. Se length
for omitido, a substring se estenderá até o final da cadeia de caracteres.
Exemplos
1. Extração básica de substring
SELECT SUBSTRING('PostgreSQL Tutorial' FROM 1 FOR 10);
Este exemplo extrai os primeiros 10 caracteres da string, resultando na saída: 'PostgreSQL'
.
2. Substring sem comprimento especificado
SELECT SUBSTRING('Database Management' FROM 10);
Aqui, a substring começa a partir do 10º caractere e continua até o final, resultando em: 'Management'
.
3. Substring com correspondência de padrões
SELECT SUBSTRING('abc123def456' FROM '[0-9]+');
Este exemplo usa uma expressão regular para extrair a primeira sequência de dígitos da cadeia de caracteres, resultando em: '123'
.
4. Caso de ponta: Início excede o comprimento da cadeia de caracteres
SELECT SUBSTRING('Short' FROM 10 FOR 5);
Quando a posição start
excede o comprimento da string, o resultado é uma string vazia: ''
.
5. Caso de ponta: Índices negativos
SELECT SUBSTRING('Negative Test' FROM -5);
O uso de índices negativos resultará em um erro, pois start
deve ser um número inteiro positivo.
Dicas e práticas recomendadas
- Fique atento aos índices. O PostgreSQL usa indexação baseada em 1, o que significa que a contagem começa em 1, não em 0.
- Utilize expressões regulares. Use padrões regex para tarefas mais complexas de extração de strings para corresponder a padrões específicos.
- Combine com outras funções. Use
SUBSTRING
juntamente com outras funções de cadeia de caracteres, comoTRIM
ouLENGTH
, para uma manipulação de cadeia de caracteres mais robusta. - Evite extrações desnecessárias. Certifique-se de que os parâmetros
start
elength
sejam precisos para evitar erros ou resultados inesperados. - Considerações sobre o desempenho. Tenha cuidado ao usar
SUBSTRING
em consultas que processam grandes conjuntos de dados, pois isso pode afetar o desempenho. - Funções relacionadas. Considere usar
LEFT
ouRIGHT
quando você precisar extrair um número fixo de caracteres do início ou do fim de uma cadeia de caracteres, respectivamente.