相关文章推荐
喝醉的卤蛋  ·  SQL Server ...·  4 周前    · 
强健的猕猴桃  ·  NumberStyles 枚举 ...·  3 周前    · 
温文尔雅的书包  ·  Corporate-owned ...·  4 月前    · 
淡定的铅笔  ·  Passing serial object ...·  1 年前    · 

SQL Server判断语句(IF ELSE/CASE WHEN )

执行顺序是 – 从上至下 – 从左至右 --,所当上一个条件满足时(无论下面条件是否满足),执行上个条件,当第一个条件不满足,第二个条件满足时,执行第个二条件

1、IF ELSE

不能用在SELECT中,只能是块 ,比如:

BEGIN

…( 代码块

ELSE ( 注意这里没有ELSE IF,要实现只能在下面的块中用IF判断

BEGIN

…( 代码块

  • declare @num int --定义变量
    set @num=1 --赋值变量
    if (@num>10)
    begin
    select * from 表1
    end
    else
    begin
    if(@num<0)
    select Top(20) * from 表2
    else
    print @num
    end

2、CASE WHEN THEN ELSE END

可以在SELECT中使用,但是要包括END结尾

CASE …

WHEN … ( 条件/代码块 ) THEN …( 返回值/case when then else end

ELSE …( 可省略

  • declare @num int --定义变量
    set @num=111 --赋值变量
    select @num,
    case
    when @num<=100 then case
    when @num>=80 then ‘A’
    when @num>=60 then ‘B’
    else ‘C’ end
    when @num>=200 then ‘优秀’
    else ‘haha’
    end
SQL Server判断语句(IF ELSE/CASE WHEN )1、IF ELSE不能用在SELECT中,只能是块,比如:IF …BEGIN…ENDELSE (注意这里没有ELSE IF,要实现只能在下面的块中用IF判断)BEGIN…END列:declare @num int --定义变量set @num=1 --赋值变量if(@num&gt;10)begi...
没有,用 case when 来代替就行了. 例如,下面的 语句 显示中文年月 代码如下: select getdate() as 日期, case month(getdate()) when 11 then ‘十一’ when 12 then ‘十二’ else substring(‘一二三四五六七八九十’, month(getdate()),1) end+’月’ as 月份 CASE 可能是 SQL 中被误用最多的关键字之一。虽然你可能以前用过这个关键字来创建字段,但是它还具有更多用法。例如,你可以在 WHERE 子句中使用 CASE 。 首先让我们看一下 CASE 的语法。在一般的 SELEC
如果有经常使用触发器或者写存储过程的同学,那么一定不会少用 判断 语句 if_else 假如有一个需求,就是通过 语句 的方式添加一条记录,添加记录前需要 判断 当前文本的前60%的文本不能有所重复,其实就是 判断 某个字段文本不能重复的需求 1、len函数 select len('美人鱼最怕遇到谁?')*0.3 2、convert函数 默认情况下,是不会四舍五入的 select convert(int,len('美人鱼最怕遇到谁?')*0.3) 3、substring函数 sele...
简单 语句 用mybatis调用该存储函数,type传值为‘1‘时报空指针错误,提示我参数设置错误 懵逼的检查着我的Mapper、dao、service,没有问题,但是传值‘1’就是不可以!就是报错! 好吧,我直接数据库运行这个存储函数,传值‘1’,崩溃.. condition1和condition2是布尔表达式,其值为真或假。 statements1、statements2、statements3是PL/ SQL 语句 。 条件逻辑的流程如下: 如果condition1为真,就执行sta