Skip to main content

Brasil

Announcements
QlikWorld 2023, a live, in-person thrill ride. Save $300 before February 6: REGISTER NOW!
cancel
Showing results for 
Search instead for 
Did you mean: 
eriqqq41
Contributor II
Contributor II

Extrair parte de um campo texto como Data

Olá pessoal,

Estou precisando extrair uma data, que é preenchida em campo texto como abaixo:

campo_texto.jpg

Se padronizar alguma mensagem à frente, consigo fazer a extração como data depois?

exemplo : "Retornou preparação: dd/mm/yyyy"

extrair dd/mm/yyyy como uma data?

Acredito que com comandos sql consigo localizar a msg padrão, mas não tenho certeza em como pegar o que há na frente dele.

obs: podem ter várias datas no mesmo formato dentro do campo, porém preciso apenas de uma.

1 Solution

Accepted Solutions
thiago_mlg
Creator II
Creator II

Como na mensagem você pode ter outros caracteres númericos, não indico utilizar o keepchar. O melhor jeito seria criar um formato para a data considerando um separador e utilizar como abaixo.

Padronizando a data e um separador. Desta forma utilizará a função TextBetween.


Imagine esse campo chamado de descricao.


LIBERADO CLASSF.V

Veio de Ctba (20/02/2015)

Retornou preparação (03/03/2015)

Você pode criar no script um campo para cada data.. seria assim:

TextBetween(descricao, '(', ')',1)                   as  Primeira_Data             //retorna 20/02/2015

TextBetween(descricao, '(', ')',2)                   as  Segunda_Data             //retorna 03/03/2015

Abraços,

Thiago Gonçalo

View solution in original post

6 Replies
lucianosv
Specialist
Specialist

Para extração você usa PurgeChar(SubField([Observação para Venda], '(',2), ')').

Depois disso têm que montar a data.

thiago_mlg
Creator II
Creator II

Como na mensagem você pode ter outros caracteres númericos, não indico utilizar o keepchar. O melhor jeito seria criar um formato para a data considerando um separador e utilizar como abaixo.

Padronizando a data e um separador. Desta forma utilizará a função TextBetween.


Imagine esse campo chamado de descricao.


LIBERADO CLASSF.V

Veio de Ctba (20/02/2015)

Retornou preparação (03/03/2015)

Você pode criar no script um campo para cada data.. seria assim:

TextBetween(descricao, '(', ')',1)                   as  Primeira_Data             //retorna 20/02/2015

TextBetween(descricao, '(', ')',2)                   as  Segunda_Data             //retorna 03/03/2015

Abraços,

Thiago Gonçalo

eriqqq41
Contributor II
Contributor II
Author

Acredito que seja exatamente isso que preciso.

O último parâmetro da função do TextBetween é a ocorrência? por exemplo o 2 ali significa o segundo texto encontrado entre parênteses?

Logo mais irei testar a implementação, mas isso vai funcionar com certeza.

Obrigado

thiago_mlg
Creator II
Creator II

Erik, é exatamente isso..

eriqqq41
Contributor II
Contributor II
Author

Funcionou! Muito bom, obrigado!

thiago_mlg
Creator II
Creator II

Maravilha Erick..

Coloque apena como resposta correta para fechar o tópico.

Abraços