Fórum Expressão Case #514373

21/03/2015

0

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

Responder

Post mais votado

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.

Thiago Cruz

Thiago Cruz
Responder

Gostei + 1

Mais Posts

21/03/2015

Flaviano Martins

Estranho, talvez era utilizado há um tempo atras, me confirma?
Responder

Gostei + 0

21/03/2015

Thiago Cruz

Isso ai...
Acompanhe Artigos de Case e muito mais em: www.guiadba.com.br
Responder

Gostei + 0

21/03/2015

Flaviano Martins

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

Gostei + 0

04/04/2015

Flaviano Martins

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


????
Responder

Gostei + 0

09/04/2015

Marisiana Battistella

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

Gostei + 0

09/04/2015

Flaviano Martins

Existem certos assuntos, pelo menos aparente diferente da maioria dos bancos, o postgre é diferente.hehehe
Responder

Gostei + 0

10/04/2015

Marisiana Battistella

Cite um desses assunto...
Responder

Gostei + 0

10/04/2015

Flaviano Martins

Data Type, Case, Dominios...pelo menos os nomes são diferentes.
Responder

Gostei + 0

12/04/2015

Marisiana Battistella

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

Gostei + 0

12/04/2015

Flaviano Martins

Acho que cada SGBD tem sua particularidade, porem, para alguns pode ser mais facil ou complicado.
Responder

Gostei + 0

13/04/2015

Marisiana Battistella

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

Gostei + 0

13/04/2015

Flaviano Martins

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

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar