case substring

一、case函数

1.简单函数:枚举这个字段所有可能的值。适合枚举值为固定的值。

(1)语法

case column

  when condition_1 then result_1

  when condition_2 then result_2

  when condition_3 then result_3

  ......

  else result_4

end

(2)示例

mysql> SELECT * FROM case_demo;
+----+------+-----+
| id | name | sex |
+----+------+-----+
| 1 | 张三 | 1 |
| 2 | 李四 | 1 |
| 3 | 小花 | 2 |
| 4 | 小明 | 1 |
| 5 | 小彭 | 1 |
| 6 | 小玲 | 2 |
| 7 | 小灵 | 2 |
| 8 | 小荷 | 2 |
+----+------+-----+

mysql> SELECT name,
-> CASE sex
-> WHEN 1 THEN '男'
-> WHEN 2 THEN '女'
-> END AS sex
-> FROM case_demo;
+------+-----+
| name | sex |
+------+-----+
| 张三 | 男 |
| 李四 | 男 |
| 小花 | 女 |
| 小明 | 男 |
| 小彭 | 男 |
| 小玲 | 女 |
| 小灵 | 女 |
| 小荷 | 女 |
+------+-----+

2.搜索函数:可以写判断,并且搜索函数只会返回第一个符合条件的值,其他case被忽略。适应表达式与一组不同的值进行匹配,枚举值不为固定值,而是一组范围

(1)语法

case 

  when condition_1 then result_1

  when condition_2 then result_2

  when condition_3 then result_3

  ......

  else result_4

end

(2)示例

mysql> SELECT * FROM grade_demo;

+----+------+-------+

| id | name | grade |

+----+------+-------+

|  1 | 小明 | 60.5  |

|  2 | 小明 | 60    |

|  3 | 小麦 | 78    |

|  4 | 小霞 | 80.5  |

|  5 | 小恒 | 90    |

|  6 | 小荷 | 98.5  |

|  7 | 小玲 | 40.8  |

|  8 | 小何 | 55.9  |

|  9 | 小格 | 70    |

+----+------+-------+

  

mysql> SELECT name,

    -> CASE 

    -> WHEN grade >=90 THEN '优秀'

    -> WHEN grade >=70 THEN '良好'

    -> WHEN grade >=60 THEN '及格'

    -> ELSE '不及格'

    -> END AS '分数评级'

    -> FROM grade_demo;

+------+----------+

| name | 分数评级 |

+------+----------+

| 小明 | 及格     |

| 小明 | 及格     |

| 小麦 | 良好     |

| 小霞 | 良好     |

| 小恒 | 优秀     |

| 小荷 | 优秀     |

| 小玲 | 不及格   |

| 小何 | 不及格   |

| 小格 | 良好     |

+------+----------+

mysql> SELECT name,

-> CASE
-> WHEN sex = 1 THEN '男'
-> WHEN sex = 2 THEN '女'
-> END AS sex
-> FROM case_demo;
+------+-----+
| name | sex |
+------+-----+
| 张三 | 男 |
| 李四 | 男 |
| 小花 | 女 |
| 小明 | 男 |
| 小彭 | 男 |
| 小玲 | 女 |
| 小灵 | 女 |
| 小荷 | 女 |
+------+-----+

二、substring函数

(1)语法

  • substring(string,postion,length)
  • subtring(string from position for length)

string:是要提取子字符串的字符串。

position:是一个整数,用于指定子串的起始字符,position可以是正或负整数。

     如果position为正,则SUBSTRING函数从字符串的开始处提取子字符串。请参阅以下字符串。

     如果position参数为零,则SUBSTRING函数返回一个空字符串。

     如果position为负,则SUBSTRING函数从字符串的结尾处开始,提取子字符串。

length:length是一个正整数,用于指定子字符串的字符数。

          如果position和length的总和大于字符串的字符数,则SUBSTRING函数将返回一个从位置开始到字符串末尾的子串。

          如果length被省略,SUBSTRING函数将返回一个从起始位置到字符串末尾的子串。

(2)示例

mysql> SELECT SUBSTRING('mysql substring',2,6);

+----------------------------------+

| SUBSTRING('mysql substring',2,6) |

+----------------------------------+ 

| ysql s                           | 

+----------------------------------+

mysql> SELECT SUBSTRING('mysql substring',6,4);

+----------------------------------+ 

| SUBSTRING('mysql substring',6,4) |

+----------------------------------+

|  sub                             |

+----------------------------------+

mysql> SELECT SUBSTRING('mysql substring',6,15);

+-----------------------------------+

| SUBSTRING('mysql substring',6,15) |

+-----------------------------------+

|  substring                        |

+-----------------------------------+

mysql> SELECT SUBSTRING('mysql substring',6);

+--------------------------------+

| SUBSTRING('mysql substring',6) |

+--------------------------------+

|  substring                     |

+--------------------------------+

mysql> SELECT SUBSTRING('mysql substring',0,1);

+----------------------------------+

| SUBSTRING('mysql substring',0,1) |

+----------------------------------+

|                                  |

+----------------------------------+

mysql> SELECT SUBSTRING('mysql substring',0);

+--------------------------------+

| SUBSTRING('mysql substring',0) |

+--------------------------------+

|                                |

+--------------------------------+

猜你喜欢

转载自www.cnblogs.com/aczy/p/10930743.html
今日推荐