网站后台 源码,网站建设公司软件开,装饰设计有限公司简介,中国电信广告视频目录 一、补充正则表达式的查询regexp
二、补充case的用法
三、补充空值和null值的区别 一、补充正则表达式的查询regexp
要知道 在MySQL中使用正则表达式#xff0c;一定要在前面加上regexp
正则表达式
^ 匹配文本的开始字符 ‘^bd’ 匹配以 bd 开头的字符串
…目录 一、补充正则表达式的查询regexp
二、补充case的用法
三、补充空值和null值的区别 一、补充正则表达式的查询regexp
要知道 在MySQL中使用正则表达式一定要在前面加上regexp
正则表达式
^ 匹配文本的开始字符 ‘^bd’ 匹配以 bd 开头的字符串
$ 匹配文本的结束字符 ‘qn$’ 匹配以 qn 结尾的字符串
. 匹配任何单个字符 ‘s.t’ 匹配任何 s 和 t 之间有一个字符的字符串
* 匹配零个或多个在它前面的字符 ‘fo*t’ 匹配 t 前面有任意个 o匹配前面的字符 1 次或多次 ‘hom’ 匹配以 ho 开头后面至少一个m 的字符串
字符串 匹配包含指定的字符串 ‘clo’ 匹配含有 clo 的字符串
p1|p2 匹配 p1 或 p2 ‘bg|fg’ 匹配 bg 或者 fg
[...] 匹配字符集合中的任意一个字符 ‘[abc]’ 匹配 a 或者 b 或者 c
[^...] 匹配不在括号中的任何字符 ‘[^ab]’ 匹配不包含 a 或者 b 的字符串
{n} 匹配前面的字符串 n 次 ‘g{2}’ 匹配含有 2 个 g 的字符串
{n,m} 匹配前面的字符串至少 n 次至多m 次 ‘f{1,3}’ 匹配 f 最少 1 次最多 3 次 二、补充case的用法
case有两种语法
语法一
case when 字段值或表达式 then 表达式或值 .... [else 默认值或表达式] end语法二
case 字段名 when 字段值 then 表达式或值 .... [else 默认值或表达式] end两者的区别在于case后面是否有跟上字段的名称 现在先来语法二的测试
语法
SELECT CASE (字段名)WHEN 条件1 THEN 结果1WHEN 条件2 THEN 结果2...[ELSE 结果N]END
FROM 表名;# 条件 可以是一个数值或是公式。 ELSE 子句则并不是必须的。 转换为另一种语法 SELECT store_name,CASE store_name
WHEN Houston THEN sales200
WHEN Los Angeles THEN ROUND(sales/2)
WHEN england THEN sales*2
ELSE sales END new sales
FROM store_info;SELECT store_name,CASE
WHEN store_name Houston THEN sales200
WHEN store_name Los Angeles THEN ROUND(sales/2)
WHEN store_name england THEN sales*2
ELSE sales END new sales
FROM store_info;
现在来看看语法一它不仅仅支持取值为确定的一个值还支持表达式的方式来进行判断赋值 第一种采用条件表达式我现在想要实现销售额大于1000是great500-1000的sales是good小于500的sales是bad SELECT store_name,sales,CASE
WHEN Sales 1000 THEN great
WHEN Sales 500 THEN good
ELSE bad END grade
FROM store_info; 第二种我想采用正则表达式如果说是以es结尾的城市那么id为1以on结尾的id为2以en开头的id为3 三、补充空值和null值的区别 空值和null值的区别总结为三点
1、空值 不占用空间字节为0null值占用空间大小
2、 空值在count(*)和count(字段)都是会将其记录统计但是如果是null不会统计
3、条件表达is not null无法过滤出空值但是使用!和可以过滤出空值以及null行