Expressão Case

PostgreSQL

21/03/2015

A Expressão Case, conheci com uma otima video aula, nela o autor descreve que é melhor utiliza-la do que deixar essa função na aplicação, sinceramente não sei em qual linguagem especifica pode existir essa função. queria saber se realmente se faz no banco de dados, se é melhor, se é mais leve.

O conteudo da tabela com os bancos:

[img]http://arquivo.devmedia.com.br/forum/imagem/393191-20150321-140653.jpg[/img]

Código utilizado:


SELECT *, 
CASE 
WHEN estado = 'RS' THEN 'Rio Grande do Sul'
WHEN estado = 'CE' THEn 'Ceará'
WHEN estado = 'RJ' THEn 'Rio de Janeiro'
WHEN estado = 'SC' THEn 'Santa Catarina'
WHEN estado = 'RN' THEn 'Rio Grande do Norte'
ELSE 'Este estado não existe'
END
FROM clientes



Resultado:

[img]http://arquivo.devmedia.com.br/forum/imagem/393191-20150321-140832.jpg[/img]

Minha pergunta, como a linguagem vai identificar o ultimo campo "criado" no select?
Flaviano Martins

Flaviano Martins

Curtidas 0

Melhor post

Thiago Cruz

Thiago Cruz

21/03/2015

O que fica mais performático na aplicação no exemplo que você deu é criar uma tabela Cliente e outra tabela estado.
Na tabela que guarda os clientes coloque uma chave estrangeira de estado, e faça uma view com um simples Join essa seria a melhor opção.
GOSTEI 1

Mais Respostas

Flaviano Martins

Flaviano Martins

21/03/2015

Estranho, talvez era utilizado há um tempo atras, me confirma?
GOSTEI 0
Thiago Cruz

Thiago Cruz

21/03/2015

Isso ai...
Acompanhe Artigos de Case e muito mais em: www.guiadba.com.br
GOSTEI 0
Flaviano Martins

Flaviano Martins

21/03/2015

Essa função é para todos os SGBD´s?
GOSTEI 0
Flaviano Martins

Flaviano Martins

21/03/2015

Essa função é para todos os SGBD´s?


????
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

21/03/2015

A maioria dos SGBDs possuem a função CASE, Flaviano.
Mas para a situação que você apresenta na questão inicial o ideal é normalizar a estrutura conforme o Thiago descreveu.
GOSTEI 0
Flaviano Martins

Flaviano Martins

21/03/2015

Existem certos assuntos, pelo menos aparente diferente da maioria dos bancos, o postgre é diferente.hehehe
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

21/03/2015

Cite um desses assunto...
GOSTEI 0
Flaviano Martins

Flaviano Martins

21/03/2015

Data Type, Case, Dominios...pelo menos os nomes são diferentes.
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

21/03/2015

Os tipos de dados é o que mais tem diferença de um SGBD para outro.
O CASE, se não me engano, possui a mesma sintaxe no PostgreSQL, no Oracle e no MySQL. Desconheço os outros SGBDs..
GOSTEI 0
Flaviano Martins

Flaviano Martins

21/03/2015

Acho que cada SGBD tem sua particularidade, porem, para alguns pode ser mais facil ou complicado.
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

21/03/2015

Na verdade, para trabalhar com banco de dados tem que aprender SQL e modelagem de dados. Da mesma forma que, quem quer aprender a programar tem que aprender lógica de programação.
Se você domina SQL e conhece o modelo dados, você não vai ter dificuldades em trabalhar em diferentes SGBDs.
GOSTEI 0
Flaviano Martins

Flaviano Martins

21/03/2015

Quando iniciamos os estudos de modelagem e a linguagem SQL, serve como base para todas.
GOSTEI 0
POSTAR