expresión CASE se utiliza para determinar la condición vuelve un valor cuando se cumple la condición, se devuelve otro valor cuando la condición no es satisfecha.
sintaxis:
CASO CUANDO ... ENTONCES ...
CUANDO ENTONCES ...
ELSE ...
FINAL
(Nota: El tipo de datos de cada una de las ramas de vuelta debe ser la misma.)
(Nota:. Cuando cláusula de exclusividad debe ser, porque cuando la cláusula cuando es verdadera, cuando se tendrá en cuenta las cláusulas restantes)
CASO
CUANDO ComparsionCondition resultado entonces
CUANDO ComparsionCondition resultado entonces
ELSE otra
FIN
CASE expresión usos:
1, la conversión método de codificación convencional
Ejemplos:
student_name puntuación Ming 80 Rojo 92 Huzi 100 Mung 60
Puntuación student_name
Ming buena
Red preferiblemente
Huzi preferiblemente
Mung en
Student_name SELECT, (CASE cuando la puntuación > = 90 ENTONCES ' 优' cuando la puntuación <90 y la puntuación> = 75 ENTONCES ' 良' cuando la puntuación <75 y la puntuación> = 60 ENTONCES ' 中' ELSE ' 不及格' END) AS puntuación DE Puntuación;
2, de tablas cruzadas de construcción
Ejemplos:
El resultado FECHA 01/01/1900 gana 1900-1-1 victorias 01/01/1900 negativos 1900-1-2 victorias 1900-1-2 victorias
Resultado
1900-1-121
01/02/1900 2 0
SELECT DISTINCT Fecha, SUM (CASE CUANDO Resultado = ' 胜' ENTONCES 1 ELSE 0 END) AS ' 胜' , SUM (CASE CUANDO Resultado = ' 负' ENTONCES 1 ELSE 0 END) AS ' 负' de la prueba de GROUP BY Fecha;
3, las filas de los convertidos
product_type sum_price la ropa 5000 de la oficina 600 de la cocina 10000
sum_price_clothes sum_price_office sum_price_kitchen
5000 600 10000
SELECT SUM (CASE CUANDO product_type = ' 衣服' ENTONCES SALE_PRICE ELSE 0 END) AS sum_price_clothes, SUM (CASE CUANDO product_type = ' 办公用品' ENTONCES SALE_PRICE ELSE 0 END) AS sum_price_office, SUM (CASE CUANDO product_type = ' 厨房用品' ENTONCES sale_price ELSE 0 END) AS sum_price_kitchen desde el producto;
4, generar una ordenación específica
Ejemplos: La tabla de la secuencia ordenada B, D, C, A de la
elemento xyz A 1 2 3 B 5 5 2 C 4 7 1 D 3 3 8
Elemento SELECT, x, y, z de T ORDER BY (CASE cuando el artículo = " B " ENTONCES 1 cuando el artículo = " D " ENTONCES 2 cuando el artículo = " C " ENTONCES 3 cuando el artículo = " A " ENTONCES 4 ELSE NULL END) ;