mysql、oracel中当满足某些条件时强制转换赋值和保持原值用法

该用法和java的if else if else用法类似,如果能在sql中写这种判断比在java代码中写会更简洁美观。

1、mysql方式:

    SELECT NAME, (CASE DEGREE WHEN 70 THEN '7' WHEN 80 THEN '8' WHEN 90 THEN 9 END ) AS DEGREE FROM COURSE

   (1)当degree值为70时,强制赋值7。

   (2)当degree值为80时,强制赋值8。

   (3)当degree值为90时,强制赋值9。

   (4)当degree为其他值时,则取其原来值。

2、oracle方式:

    SELECT NAME, DECODE(DEGREE,70,'7',80,'8',90,9 DEGREE ) AS DEGREE FROM COURSE 

   (1)DECODE函数中:第一个位置为字段名,最后一个为默认字段名,中间为成对出现,

   (2)当DEGREE 为70时,强制赋值为7.

     (3)当degree值为80时,强制赋值8。

     (4)degree值为90时,强制赋值9。

     (5)当degree为其他值时,则取其原来值。

你可能感兴趣的:(sql)