Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

CAMPOS EM ML

SELECT NOME_DO_PRODUTO, REPLACE(REPLACE(NOME_DO_PRODUTO, 'Litro', 'L'), 'Ls', 'L') FROM TABELA_DE_PRODUTOS;

COMO EU FARIA PARA QUE OS CAMPOS EM ML EX: 'Sabor da Montanha - 700 ml - Uva' PARA FICAR 0.7L

1 resposta
solução!

Oii, tudo bem?

Você pode utilizar uma combinação de funções do Oracle SQL para extrair o número e converter de mililitros para litros. Aí depois é só formatar o resultado.

Deste modo:

  • Extrair o número de mililitros: você pode usar a função REGEXP_SUBSTR para extrair o número antes do ml. Essa função permite que você especifique um padrão de expressão regular e extraia a parte do texto que corresponde a esse padrão.

  • Converter mililitros para litros: depois de extrair o número de mililitros, você pode converter para litros dividindo por 1000.

  • Formatar o resultado: por fim, você pode usar a função TO_CHAR para formatar o número de litros como uma string, adicionando o L no final.

Vou deixar abaixo um exemplo de consulta SQL:

SELECT 
    NOME_DO_PRODUTO, 
    TO_CHAR(REGEXP_SUBSTR(NOME_DO_PRODUTO, '\d+ ml') / 1000, '0.9') || 'L' AS LITROS
FROM 
    TABELA_DE_PRODUTOS;

No exemplo acima:

  • REGEXP_SUBSTR(NOME_DO_PRODUTO, '\d+ ml') extrai o número seguido de ml do nome do produto.
  • O resultado é dividido por 1000 para converter de mililitros para litros.
  • TO_CHAR(..., '0.9') converte o número para uma string com uma casa decimal.
  • || 'L' concatena L ao final do resultado para formatar como 0.7L.

Se outra dúvida surgir, estamos aqui.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software