请教大师一个sql语法then的用法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教大师一个sql语法then的用法相关的知识,希望对你有一定的参考价值。
insert into tb_ProductsVouch select @pid,case @isvouch when 1 then 1 else 0 end,case @isvouch when 0 then 1 else 0 end
请问这个 when then是什么意思呢
WHEN 当满足@isvouch=1 就取THEN 后的 1
其它的就取ELSE 后的 0 参考技术A case @isvouch when 1 then 1 else 0 end
大概可以翻译成
当 @isvouch 是 1 时,返回 1,其他返回 0,结束 参考技术B 当满足when的条件,返回then后面的结果。 参考技术C 条件判断语句,好似 if else end 只不过case可以多条件.
SQL语句中case,when,then的用法
用法如下:
复制代码
SELECT
s.s_id,
s.s_name,
s.s_sex,
CASE
WHENs.s_sex='1'THEN'男'
WHENs.s_sex='2'THEN'女'
ELSE'其他'
ENDassex,
s.s_age,
s.class_id
FROM
t_b_students
WHERE
1=1
这两个结果是一样的:
需要注意的一点是,Case函数只返回第一个限定值,其余的Case将被自动忽略。
扩展资料:
Case有两种格式:简单函数和Case搜索函数。
简单的例子功能:
CASEsex
WHEN‘1’THEN‘男’
WHEN‘0’THEN‘女’
ELSE‘其他’END
Case搜索函数:
CASEWHENsex=‘1’THEN‘男’
WHENsex=‘0’THEN‘女’
ELSE‘其他’END
显然简单的Case函数天生简洁,但它们只适用于这种单字段单值比较,而Case搜索函数具有适用于所有比较用例的优势。
另一个需要注意的问题是,在Case函数满足了某个条件之后,其余的条件将被自动忽略,这样即使满足了多个条件,在执行过程中也只能识别第一个条件。
当使用CASEWHEN时,您可以将其视为没有字段名的字段,字段值是有条件的,并且在需要使用字段名时可以使用as来定义别名。
参考技术A select case when 字段名 is null then '录入' else 字段名 end as 别名 from 表名 where 条件别名要不要都行。 语法没多少用的!要有一个整段sql例子!你就懂了 参考技术B case 表达式
when 值1 then 结果1
when 值2 then 结果2
else 结果3
也有另一种形式
case
when 表达式1 then 结果1
when 表达式2 then 结果2
else 结果3
以上是关于请教大师一个sql语法then的用法的主要内容,如果未能解决你的问题,请参考以下文章