重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
交换以下工资信息表中的m和f
公司主营业务:网站制作、网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联推出铜川免费做网站回馈大家。
这里主要练习一下两种条件方法,先是case when方法,
语法是CASE expressing WHEN condition THEN return
这里expressing 不是必须的,如果有,就是拿来和condition进行比较的,意即如果有expressing,默认将它和WHEN后面的条件进行=比较,如果真,返回THEN后面的结果。下面是有expressing和没有expressing的两种写法:
或者,我们可以用if方法
if的语法是IF(condition, value_if_true, value_if_false)
处理“我想查 IF中同时满足这两个条件的总数”
我的理解是:
SELECT COUNT(*) FROM tougao_record WHERE accept_company_id=100 AND channel_type=1 AND check_status=6
下面是if语句里面多个条件的使用。
IF语句的标准形式IF(expr1,expr2,expr3)
expr1可以是单个表达式也可以是多个表达式,且,或||,非!
上面的语句可以这样写
select COUNT(IF(channel_type=1 check_status=6),1,0) FROM tougao_record WHERE accept_company_id=100
但是就我的理解,mysql在统计count的时候,不管count括号里面的内容,只管是否为空,查询的结果不为空就计数。
我是处理下面的问题用到了,可以直接跑一下我给的sql语句。
SET @destval:='0.63';
SET @valforcomp='0.62';
SELECT
IF(@destval REGEXP '^[\-\+.]?([0-9.]+)$' @valforcomp REGEXP '^[\-\+.]?([0-9.]+)$',
IF(ABS(@destval-@valforcomp)0.02,1,0),NULL) result
上面的REGEXP只是简单的用来判断是否是数字,通过这个我还发现了另一个问题,
SELECT ABS(@destval-@valforcomp);
这个查询出来不是等于0.01而是0.010000000000000009
不知道有没有帮到你。
sql语句应该没有问题
看是不是数据库编码设置的问题
查询之前
set
names
编码
一下,具体编码看的你数据库和字符串编码类型了
前面介绍了如何对表数查询、更新、删除,本小节介绍如何在查询、更新、删除操作加上 WHERE 条件约束,使这些语句的操作更加准确,满足业务需求。WHERE 条件的操作符类型有如下:
以 teacher 表为例,查询年龄大于 18 的教师信息:
执行结果如下图:
再比如使用 LIKE 模糊查询身份证号以 020X 结尾的教师信息:
执行结果如下图:
[图片上传失败...(image-f53914-1648379120315)]
以 teacher 表为例,查询年龄大于 18 和 教师姓氏 王 的教师信息:
执行结果如下图:
[图片上传失败...(image-7dbeda-1648379120315)]
以 teacher 表为例,查询年龄大于 25 或 教师姓氏 王 的教师信息:
执行结果如下图:
以 teacher 表为例,将 age 在 20 和 30 之间的教师身份证设置为 无 :
为了演示方便,我们先给 teacher 表增加一个字段 email :
执行结果如下图:
清空表数据:
然后往 teacher 表插入几条测试数据:
然后查询 email 为 NULL 的教师信息结果集:
执行结果如下图:
本小节介绍了如果在查询、更新语句后面加上 WHERE 条件约束,需要注意的是当使用 、 、这样的操作符和空值比较的时候,NULL值与任何其它值的比较(即使是NULL)永远不会为 TRUE ,例如要查询 name 为 NULL 的结果集要写成 name IS NULL ,而不能使用 name=NULL 。
参数的名称为“条件”,类型为“文本型(text)”。本参数是查找符合条件的记录。如果为“”空字符串那么将更新所有记录。例如当字段name的内容“jack”时更新记录: name='jack'。 如: 更新记录 (mysql, “'ahui1'”, “mima='” + test1 + “'”, “yonghuming ='” + test2 + “'”) 当字段 =test2时 则执行更新