社区
基础编程
帖子详情
mysql 的查询语句里面可不可以用if else 之类的,我知道可以用case end
美人心计1999
2010-06-12 12:57:55
如题
...全文
21395
8
打赏
收藏
mysql 的查询语句里面可不可以用if else 之类的,我知道可以用case end
如题
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
美人心计1999
2010-06-12
打赏
举报
回复
[Quote=引用 6 楼 xuzuning 的回复:]
mysql中if是函数而不是命令。
手册中如是说:
IF(expr1,expr2,expr3)
如果 expr1 为真(expr1 <> 0 以及 expr1 <> NULL),那么 IF() 返回 expr2,否则返回 expr3。IF() 返回一个数字或字符串,这取决于它被使用的语境:
mysql> SELECT IF(1>2,2,3);
-> 3
mysql> SELEC……
[/Quote]
呢和case end 是不一样的啊,case end 好像是分支判断的
原来好像没见过这么写的啊,sqlserver里面好像没有这样写的
mysql用的也不多啊...所以很郁闷啊...
myhope88
2010-06-12
打赏
举报
回复
帮顶下吧
xuzuning
2010-06-12
打赏
举报
回复
mysql中if是函数而不是命令。
手册中如是说:
IF(expr1,expr2,expr3)
如果 expr1 为真(expr1 <> 0 以及 expr1 <> NULL),那么 IF() 返回 expr2,否则返回 expr3。IF() 返回一个数字或字符串,这取决于它被使用的语境:
mysql> SELECT IF(1>2,2,3);
-> 3
mysql> SELECT IF(1<2,'yes','no');
-> 'yes'
mysql> SELECT IF(STRCMP('test','test1'),'no','yes');
-> 'no'
如果 expr2 或 expr3 明确地为 NULL,那么函数 IF() 的返回值类型为非 NULL 列的类型。(这在选择在 MySQL 4.0.3 中新加入)。 expr1 是作为一个整数值被计算的,这就意味着,如果测试的是一个浮点型或字符串值,就必须进行比较操作:
mysql> SELECT IF(0.1,1,0);
-> 0
mysql> SELECT IF(0.1<>0,1,0);
-> 1
在上面第一种情况下,IF(0.1) 返回 0,是因为 0.1 被转换为一个整数值,返回 IF(0) 的测试结果。这可能不是你所期望的。在第二种情况下,比较测试原浮点数是否为一个非零值。比较的结果被作为整数使用。 缺省的 IF() 返回值类型 (当结果存储在临时表中时,这是非常重要的) 在 MySQL 3.23 中按下列方式确定: 表达式 返回值
表达式(expr2)或表达式(expr3)返回值为字符串 字符串
表达式(expr2)或表达式(expr3)返回值为浮点型值 浮点型
表达式(expr2)或表达式(expr3)返回值为整型 整型
如果表达式(expr2)和表达式(expr3)均是字符串,同时两个字符串均是忽略字母大小写的,那么返回值也是忽略字母大小写的(从 MySQL 3.23.51 开始)。
美人心计1999
2010-06-12
打赏
举报
回复
[Quote=引用 4 楼 xuzuning 的回复:]
$sql="SELECT
if(id>2, sex,
if(id<2, NAME, null))
AS xingbie
FROM userinfo"
[/Quote]
能否解释下,从没见过这种写法...也看不懂啊...
case end 我还可以理解
但这个就理解不了了...
我原来是这样写的,但是运行不了
SELECT
IF (id>2)
THEN sex
ELSE
THEN NAME
END IF
AS X
FROM userinfo
xuzuning
2010-06-12
打赏
举报
回复
$sql="SELECT
if(id>2, sex,
if(id<2, NAME, null))
AS xingbie
FROM userinfo"
美人心计1999
2010-06-12
打赏
举报
回复
[Quote=引用 1 楼 limike118020 的回复:]
写存储过程!
[/Quote]
$sql="SELECT
CASE
WHEN id>2 THEN sex
WHEN id<2 THEN NAME
END
AS xingbie
FROM userinfo"
------------
像这样的sql语句啊
能不能改成if else 的?
不是存储过程啊......如果写存储过程,估计也没法写成符合我上面要求的查询来吧
jlzan1314
2010-06-12
打赏
举报
回复
select IF(1,'yes','no');
limike118020
2010-06-12
打赏
举报
回复
写存储过程!
mysql
存储过程之
case
语句用法实例详解
本文实例讲述了
mysql
存储过程之
case
语句用法。分享给大家供大家参考,具体如下: 除了if语句,
mysql
提供了一个替代的条件语句
CASE
。
mysql
的
CASE
语句使代码更加可读和高效。废话不多说,我们先来看下简单
case
语句的语法:
CASE
case
_expression WHEN when_expression_1 THEN commands WHEN when_expression_2 THEN commands ... ELSE commands
END
CASE
; 我们可以使用简单
CASE
语句来检查表达式的值与一组唯一值的匹配,上述sql中,
case
_e
MySQL
中的if和
case
语句使用总结.doc
MySQL
中的if和
case
语句使用总结.doc
详细解析
mysql
中的
case
when 语句的使用
详细分析
mysql
中的 控制流程语句 if 以及
case
when 的使用,
里面
的 sql 语句,已经在 本机上亲自实践,
MySQL
数据库:流程控制语句
case
.pptx
数据库编程 流程控制语句
CASE
课程目标 1)理解 ——
CASE
语句的语法规则; 2)掌握 ——
CASE
语句的使用方法;
case
语句
CASE
语句语法格式为: 第一种:
CASE
case
_value WHEN when_value THEN statement_list [WHEN when_value THEN statement_list] ... [ELSE statement_list]
END
CASE
说明:一个
CASE
语句经常可以充当一个IF-THEN-ELSE语句。
case
_value是要被判断的值或表达式,接下来是一系列的WHEN-THEN块,每一块的when_value参数指定要与
case
_value比较的值,如果为真,就执行statement_list中的SQL语句。如果前面的每一个块都不匹配就会执行ELSE块指定的语句。
CASE
语句最后以
END
CASE
结束。
case
语句 第二种
CASE
WHEN search_condition THEN statement_list [WHEN search_condition THEN statement_
MySQL
中的if和
case
语句使用总结
主要介绍了
MySQL
中的if和
case
语句使用总结,本文讲解了IF语句作为表达式和流程控制语句使用实例,需要的朋友可以参考下
基础编程
21,890
社区成员
140,347
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章