← Oracle Database SQL: consultas e operação
02 / 8 · 50 MIN

Funções, conversões e contratos de dados

Transforma valores sem perder o significado de dados ausentes, formatos e tipos.

Conceito e mecanismo

Funções de uma linha transformam valores sem agregar a população. SUBSTR seleciona parte de um código, UPPER normaliza caixa e funções numéricas como ROUND e TRUNC fazem operações diferentes. Para NUMBER 12.345, arredondar a duas casas produz 12.35 e truncar produz 12.34. A escolha deve refletir a regra de cálculo, não apenas apresentação. Conversões implícitas podem depender do tipo e das definições NLS. Num feed de formato fixo, especifica o modelo de data ou número e os separadores acordados. Um valor aceite sem erro pode ainda ter sido interpretado incorretamente. Não confundas ausência de exceção com qualidade dos dados.

Aplicação guiada

Numa carga fictícia, conserva o texto de origem e o motivo de rejeição para permitir reconciliação. Usa TO_DATE com máscara para datas contratuais fixas, TO_NUMBER com configuração numérica explícita e TO_CHAR apenas quando precisas de texto de apresentação. Não voltes a aplicar TO_DATE a um valor já DATE para o formatar. NVL, COALESCE e NULLIF ajudam a tratar ausência, mas o substituto precisa de significado de negócio e tipo compatível. Num CASE, testa IS NULL quando o desconhecido deve ter uma categoria própria. Se substituíres todos os erros por zero, o processo pode ficar verde enquanto altera totais. O suporte deve distinguir formato inválido, valor ausente e valor válido fora do intervalo permitido.

NA PRÁTICA

TO_DATE('2026-09-30','YYYY-MM-DD') lê um contrato fixo; NVL(TO_CHAR(amount),'N/A') produz apresentação textual.

Armadilhas comuns

Conversão implícita como contrato; NVL como correção de qualidade; arredondamento como truncagem; zero como ausência.

Tópicos relacionados: Modelo, SELECT e população do resultado · Joins, granularidade e agregação · Subqueries, conjuntos e top-N

Leva esta ideia contigo

Torna explícitos o tipo, o formato e o significado de cada substituição.

Criar conta

Referência: Explicit date conversion · 1Z0-071 public objectives inspected 2026-09-30; revision date not published

Oracle® é uma marca registada da Oracle e/ou das suas afiliadas. A dr.pt é uma plataforma de preparação independente e não está afiliada, associada, patrocinada, autorizada nem aprovada por Oracle. Os conteúdos e as perguntas são originais, não são perguntas oficiais de exame, e concluir os nossos testes não atribui nem garante qualquer certificação. Os nomes são usados apenas para identificar o tema. Todas as outras marcas pertencem aos respetivos titulares.