社区
基础编程
帖子详情
mysql 的查询语句里面可不可以用if else 之类的,我知道可以用case end
美人心计1999
2010-06-12 12:57:55
如题
...全文
21361
8
打赏
收藏
mysql 的查询语句里面可不可以用if else 之类的,我知道可以用case end
如题
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
数据库:流程控制语句
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
查询实战之业务为王
【为什么开这门课】 在实际工作中,有不少同学虽然掌握了
MySQL
的基本用法,但面对具体的业务需求,写起
MySQL
查询语句
仍然比较吃力,比如一条 SQL 语句可以搞定的需求,因为不
知道
某个函数而拆分成多条来写,导致...
MySQL
的
CASE
WHEN 语句使用说明
mysql
数据库中
CASE
WHEN语句。
case
when语句,用于计算条件列表并返回多个可能结果表达式之一。
CASE
具有两种格式: 简单
CASE
函数将某个表达式与一组简单表达式进行比较以确定结果。
CASE
搜索函数计算一组布尔表达式以确定结果。 两种格式都支持可选的 ELSE 参数。 语法简单
CASE
函数: 代码如下:
CASE
input_expression WHEN when_expression THEN result_expression [ …n ] [ ELSE else_result_expression
END
mysql
中写判断语句的方法总结
mysql
中写判断语句的方法: 方法一.
CASE
函数
case
函数语法:
CASE
condition WHEN value1 THEN returnvalue1 WHEN value2 THEN returnvalue2 WHEN value3 THEN returnvalue3 …… ELSE defaultvalue
END
举例: SELECT username,(
CASE
sex WHEN 1 THEN '男' WHEN 2 THEN '女' ELSE '未知'
END
) as sex FROM user; 查询结果如图: 方法二.IF()函数
CASE
函数可以实现非常复杂的逻
基础编程
21,886
社区成员
140,364
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章