{"id":667,"date":"2026-05-21T13:00:27","date_gmt":"2026-05-21T16:00:27","guid":{"rendered":"https:\/\/jrtx.com.br\/blog\/2026\/05\/21\/aula-9-funcoes-oracle-nvl-decode-case-coalesce-na-pratica\/"},"modified":"2026-05-21T13:00:27","modified_gmt":"2026-05-21T16:00:27","slug":"aula-9-funcoes-oracle-nvl-decode-case-coalesce-na-pratica","status":"publish","type":"post","link":"https:\/\/jrtx.com.br\/blog\/2026\/05\/21\/aula-9-funcoes-oracle-nvl-decode-case-coalesce-na-pratica\/","title":{"rendered":"Aula 9: Fun\u00e7\u00f5es Oracle \u2014 NVL, DECODE, CASE, COALESCE na pr\u00e1tica"},"content":{"rendered":"<p>Nesta aula, vamos nos aprofundar em fun\u00e7\u00f5es espec\u00edficas dentro do Oracle SQL, conhecidas como <strong>Fun\u00e7\u00f5es Oracle<\/strong>. Entender estes conceitos \u00e9 crucial para manipular dados de maneira eficiente e para resolver problemas comuns encontrados no dia a dia de qualquer analista ou desenvolvedor que usa bancos de dados Oracle. Vamos explorar como utilizar as fun\u00e7\u00f5es NVL, DECODE, CASE e COALESCE de maneira pr\u00e1tica e objetiva.<\/p>\n<h3>O que voc\u00ea vai aprender nesta aula<\/h3>\n<ul>\n<li>Conceito e uso da fun\u00e7\u00e3o NVL.<\/li>\n<li>Como e quando usar a fun\u00e7\u00e3o DECODE.<\/li>\n<li>Aplica\u00e7\u00e3o pr\u00e1tica da express\u00e3o CASE.<\/li>\n<li>Usos da fun\u00e7\u00e3o COALESCE em compara\u00e7\u00e3o ao NVL.<\/li>\n<\/ul>\n<h3>Fun\u00e7\u00e3o NVL: Conceito e Uso<\/h3>\n<p>A fun\u00e7\u00e3o <strong>NVL<\/strong> \u00e9 uma das <strong>Fun\u00e7\u00f5es Oracle<\/strong> que permite substituir valores nulos por um valor definido pelo usu\u00e1rio. Isso \u00e9 \u00fatil quando voc\u00ea quer assegurar que os resultados de uma consulta n\u00e3o retornem valores nulos, que podem impactar negativamente em c\u00e1lculos ou relat\u00f3rios.<\/p>\n<p>No banco de dados Oracle, a fun\u00e7\u00e3o NVL \u00e9 utilizada da seguinte forma:<\/p>\n<pre><code>SELECT NVL(salario, 0) AS salario_ajustado FROM funcionarios;<\/code><\/pre>\n<p>Neste exemplo, qualquer valor nulo na coluna &#8220;salario&#8221; ser\u00e1 substitu\u00eddo pelo valor 0 na consulta.<\/p>\n<h3>Fun\u00e7\u00e3o DECODE: Transformando Condi\u00e7\u00f5es em Resultados<\/h3>\n<p>A fun\u00e7\u00e3o <strong>DECODE<\/strong> permite realizar transforma\u00e7\u00f5es baseadas em condi\u00e7\u00f5es, de forma similar a um comando de <em>switch-case<\/em> encontrado em muitas linguagens de programa\u00e7\u00e3o. Ela reduz a complexidade de m\u00faltiplos <strong>IF ELSE<\/strong>.<\/p>\n<pre><code>SELECT nome, DECODE(cargo, 'GERENTE', 'Senior', 'Junior') AS nivel_cargo FROM funcionarios;<\/code><\/pre>\n<p>No exemplo acima, se o cargo for &#8216;GERENTE&#8217;, o resultado da fun\u00e7\u00e3o DECODE retornar\u00e1 &#8216;Senior&#8217;, caso contr\u00e1rio, &#8216;Junior&#8217;.<\/p>\n<h3>Express\u00e3o CASE: Flexibilidade e Legibilidade<\/h3>\n<p>A express\u00e3o <strong>CASE<\/strong> \u00e9 similar ao DECODE, mas oferece uma sintaxe mais flex\u00edvel e leg\u00edvel. Isso a torna muito popular em consultas SQL complexas.<\/p>\n<pre><code>\nSELECT nome,\n  CASE\n    WHEN salario >= 10000 THEN 'Alto'\n    WHEN salario >= 5000 THEN 'M\u00e9dio'\n    ELSE 'Baixo'\n  END AS categoria_salario\nFROM funcionarios;\n<\/code><\/pre>\n<p>O comando acima classifica os funcion\u00e1rios em categorias salariais: Alto, M\u00e9dio ou Baixo.<\/p>\n<h3>Fun\u00e7\u00e3o COALESCE: Escolha o Primeiro Valor N\u00e3o-nulo<\/h3>\n<p>A fun\u00e7\u00e3o <strong>COALESCE<\/strong> retorna o primeiro valor n\u00e3o-nulo em uma lista de argumentos. Ela \u00e9 extremamente \u00fatil quando voc\u00ea precisa verificar m\u00faltiplas colunas para encontrar um valor n\u00e3o-nulo.<\/p>\n<pre><code>SELECT COALESCE(email_residencial, email_comercial, 'sem email') AS contato_email FROM contatos;<\/code><\/pre>\n<p>Esse exemplo busca primeiro um valor na coluna &#8216;email_residencial&#8217; e, se for nulo, passa para &#8216;email_comercial&#8217;, retornando &#8216;sem email&#8217; se ambos forem nulos.<\/p>\n<h3>Resumo da Aula 9<\/h3>\n<p>Nesta aula, exploramos como as <strong>Fun\u00e7\u00f5es Oracle<\/strong> NVL, DECODE, CASE e COALESCE permitem realizar manipula\u00e7\u00f5es poderosas de dados que ajudam a resolver problemas comuns de dados nulos e transforma\u00e7\u00f5es condicionais. Utilizar essas fun\u00e7\u00f5es diariamente \u00e9 uma pr\u00e1tica comum em nossos projetos na JRT Technology Solutions, pois ajudam a otimizar e simplificar consultas SQL. Na pr\u00f3xima aula, vamos abordar joins e como eles podem ser combinados com essas fun\u00e7\u00f5es para consultas avan\u00e7adas.<\/p>\n<div style=\"margin:48px 0 32px;padding:32px 24px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:16px;text-align:center;\">\n<p style=\"margin:0 0 8px;font-size:17px;color:#111827;font-weight:700;\">Quer aprender na pr\u00e1tica com especialistas?<\/p>\n<p style=\"margin:0 0 24px;font-size:15px;color:#1f2937;font-weight:400;\">A JRT Technology Solutions oferece treinamentos e implementa\u00e7\u00e3o de Oracle SQL para equipes corporativas.<\/p>\n<p>  <a href=\"https:\/\/api.whatsapp.com\/send\/?phone=5521980606699&#038;text=Ol%C3%A1%21+Tenho+interesse+no+treinamento+de+Oracle%20SQL.&#038;type=phone_number&#038;app_absent=0\"\n     target=\"_blank\" rel=\"noopener noreferrer\"\n     style=\"display:inline-flex;align-items:center;gap:12px;background:#25D366;color:#ffffff;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:16px;font-weight:600;padding:14px 28px;border-radius:100px;text-decoration:none;box-shadow:0 4px 12px rgba(37,211,102,0.4);letter-spacing:0.01em;\"><br \/>\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"#ffffff\">\n      <path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z\"\/>\n    <\/svg><br \/>\n    Falar no WhatsApp<br \/>\n  <\/a>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Aprofunde-se nas fun\u00e7\u00f5es Oracle NVL, DECODE, CASE e COALESCE com exemplos pr\u00e1ticos! Melhore suas consultas agora! Clique e aprenda mais.<\/p>\n","protected":false},"author":1,"featured_media":665,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":0,"footnotes":""},"categories":[75],"tags":[1148,1149,1147,1150,1146],"class_list":["post-667","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devops","tag-case-oracle","tag-coalesce-oracle","tag-decode-oracle","tag-funcoes-sql-oracle","tag-nvl-oracle"],"_links":{"self":[{"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/posts\/667","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/comments?post=667"}],"version-history":[{"count":0,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/posts\/667\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/media\/665"}],"wp:attachment":[{"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/media?parent=667"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/categories?post=667"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/tags?post=667"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}