请教大师一个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是什么意思呢

CASE 对@isvouch 进行选择
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的用法的主要内容,如果未能解决你的问题,请参考以下文章

请教大师,这样的搜索框效果是怎样实现的。

SQL Server中case...end的用法

Delphi Treeview 的使用问题,请教各位大师,帮忙看一下,我编的怎么不对了

请教Latex大师 关于图片的问题

请教大师们,怎么让一个字串后面的.00啥的去掉?

请教各位大师:mysql如何实现将某一字段的部分内容替换,