mysql多条件替换
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql多条件替换相关的知识,希望对你有一定的参考价值。
数据库表1内有两个字段.分别为a字段和B字段.当A字段里面有内容的时候b字段内容为1,当A字段里面没有内容的时候,B字段内容为0 ,请教大家帮帮忙.如何处理
SELECT A,(case when (A is null) or (A='') then 0 else 1 end) as B FROM t_test;
能查询,但不能执行
说明:
t_test是数据表名,B是个不存在的字段,只是一个输出结果,所以真实的字段只有字段A。
以上sql语句在mysql5.1上测试通过。 参考技术B update table1 set b=1 where a is not null or a<>'';
update table1 set b=0 where a is null or a'';
执行两遍比较好本回答被提问者采纳 参考技术C update table1 a set b=(select case when a is null then 0 else 1 end from table1 b where a.id=b.id);
这要求表1有个主键字段id;
MySQL· 条件
基本函数
lower(字段名)转小写
upper(字段名)转大写
length(字段名)数据的长度
substr(字段名,截取开头位置,结束位置)(含头含尾)截取
concat(字段名,拼接内容)拼接数据
replace(字段名,替换数据,替换内容)替换
round四舍五入
ceil向上取整
floor向下取整
max(字段名)求最大值
min(字段名)求最小值
sum(字段名)求和
avg(字段名)求平均
select now() --年月日 时分秒
select curdate() --年与日
select curtime() --时分秒
--year()年 month()月 day()日
select now(),year(now()),month(now()),day(now()) from emp;
--hour()时 minute()分 second()秒
select now(),hour(now()),minute(now()),second(now()) from emp;
distinct去除重复的记录行
SELECT DISTINCT 字段名 FROM 表名;
过滤条件
where
and 相当于& 关系
or相当于|关系
between and 两者之间
is null 为空
is not null 不为空
模糊查询
like %通配符、不限制个数
-一个代表一个字符
分页
limit一个参数N 展示N条数据
二个参数,S N从S开始展示N条数据
排序
by 排序字段 asc 默认从小到大
desc 降序
count(字段名)统计该字段的所有数据
group by 字段名用于对查询的结果进行分组统计
having 子句类似where限制返回结果,where用在主句中,having用在分组中
以上是关于mysql多条件替换的主要内容,如果未能解决你的问题,请参考以下文章
Mysql查询详解(条件查询、子查询、模糊查询、连接查询。。。)