免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 16965 | 回复: 2
打印 上一主题 下一主题

请问mysql怎么使用if...else...来查询? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-09-12 11:33 |只看该作者 |倒序浏览
mysql下怎么用if...else...啊, manual里没有写,晕
谁能告诉我怎么用...

论坛徽章:
0
2 [报告]
发表于 2004-09-12 22:10 |只看该作者

请问mysql怎么使用if...else...来查询?

有吗?

论坛徽章:
0
3 [报告]
发表于 2004-09-13 09:08 |只看该作者

请问mysql怎么使用if...else...来查询?

  1. 7.4.8 控制流函数
  2. IFNULL(expr1,expr2)
  3. 如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2。IFNULL()返回一个数字或字符串值,取决于它被使用的上下文环境。
  4. mysql>; select IFNULL(1,0);
  5.         ->; 1
  6. mysql>; select IFNULL(0,10);
  7.         ->; 0
  8. mysql>; select IFNULL(1/0,10);
  9.         ->; 10
  10. mysql>; select IFNULL(1/0,'yes');
  11.         ->; 'yes'

  12. IF(expr1,expr2,expr3)
  13. 如果expr1是TRUE(expr1<>;0且expr1<>;NULL),那么IF()返回expr2,否则它返回expr3。IF()返回一个数字或字符串值,取决于它被使用的上下文。
  14. mysql>; select IF(1>;2,2,3);
  15.         ->; 3
  16. mysql>; select IF(1<2,'yes','no');
  17.         ->; 'yes'
  18. mysql>; select IF(strcmp('test','test1'),'yes','no');
  19.         ->; 'no'

  20. expr1作为整数值被计算,它意味着如果你正在测试浮点或字符串值,你应该使用一个比较操作来做。

  21. mysql>; select IF(0.1,1,0);
  22.         ->; 0
  23. mysql>; select IF(0.1<>;0,1,0);
  24.         ->; 1

  25. 在上面的第一种情况中,IF(0.1)返回0,因为0.1被变换到整数值, 导致测试IF(0)。这可能不是你期望的。在第二种情况中,比较测试原来的浮点值看它是否是非零,比较的结果被用作一个整数。

  26. CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result ...] [ELSE result] END
  27.  
  28. CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END
  29. 第一个版本返回result,其中value=compare-value。第二个版本中如果第一个条件为真,返回result。如果没有匹配的result值,那么结果在ELSE后的result被返回。如果没有ELSE部分,那么NULL被返回。
  30. mysql>; SELECT CASE 1 WHEN 1 THEN "one" WHEN 2 THEN "two" ELSE "more" END;
  31.        ->; "one"
  32. mysql>; SELECT CASE WHEN 1>;0 THEN "true" ELSE "false" END;
  33.        ->; "true"
  34. mysql>; SELECT CASE BINARY "B" when "a" then 1 when "b" then 2 END;
  35.        ->; NULL

复制代码

不要小瞧mysql手册~~~来源于第七章~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP