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
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
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.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!