这位博主居然说“我就是看故事也要把这知识学了”

零、写在前面

            

               本文是从begin ..end 开始讲的。(有时间把之前的杂乱无序的笔记整合起来重新发)

牢骚:sql server 结尾很多地方不用分号 我好难受TvT!

         注意:不要看封面,就觉得博主是虎狼之人, 本博主现在就来澄清一下我不(就)是虎狼之人!

       咳咳!开始学习!

目录

        1.begin...end的用法 

        2.if  else 语句的用法

        3.while语句的用法

        4.break和continue的区别和用法

        5.case的用法

        6.waitfor的用法

        7.goto命令的使用

        8.return无条件退出语句

        9.print的用法

         

                       

一.begin...end

         修仙界的情侣

                   一天修仙界发生了一件怪事,老头begin居然在编译广场居然绷了一天,仙民们都急死了,“怎么办啊?这老头平时对我们可好了,今日怎么bug住了啊”,议论声很大,仙民都去家里面找END奶奶了,发现END奶奶也动不了,仙民很着急阿,它们祈求博主的帮助,博主是修仙界的一名地仙阶段的大能,博主把END奶奶放到广场。“它们动了”,事后,begin 和end对博主感激涕零,博主送了一段话给修仙界:BEGIN和END语句必须成对使用,任何一条语句均不能单独使用。

             BEGIN...END用于将多个语句组合成一个逻辑块.

     语法如下:

 BEGIN

 {

 sql_statement

 }

 END

案例如下:

declare @x int ,@t int, @z int
set @x=2
set @t=5
begin
 set @z=@x
   set @x=@t
   set @t=@z
end
print @x
print @t

 说明:

BEGIN和END语句必须成对使用,任何一条语句均不能单独使用。

BEGIN语句后为T-SQL语句块,END语句指示语句块结束

二.IF...ELSE

      if 和else兄弟(修仙界的真'好兄弟)

      if:今天修仙界的上头 发了点水果(代码)啊,我先选啊!!!看看我有哪些想吃的 ,我拿个i%2=0这个品种的水果。剩下的都给你了,老哥对你好不?

       else:老哥,你这是欺负我,我只能吃你剩下的 T_T (上回if大哥叫上if else 二哥来,我还少了一些,算了吧,该知足了)

      相信if else 很多学过其他语言的朋友都不陌生了,条件判断语句嘛!

       sql sever里面呢也是这个效果进行判断

  如果条件为真,则执行条件表达式后面的T-SQL语句,当条件为假时,可以使用ELSE关键字指定要执    行的T-SQL语句.

语法如下:

IF Boolean expression

{

sql_statement|statement_clock}

[ELSE

{sql_statement|statement_block}]

}

       案例如下:

   

 declare @m int, @p int
 set @m=5
 set @p=2
 if @m>@p
 print '@m大于@p'
 else
 print '@m小于@p'

      三、WHILE

           while--修仙界的轮回之一(下个故事有他)

WHILE是T-SQL语句支持的循环结构。当条件为真时,可重复执行循环语句。如果想循环执行一组命令,需配合begin....end一起使用

语法如下:

WHILE Boolean_expression

begin

{sql_statement|statement_block}

end

 案例如下:

         

--求1到10之间能被2整除的整数和
 declare @n int,@sum int
 set @n=1
 set @sum=0
 while @n<=10
 begin
   if @n%2=0
   begin
 set @sum=@sum+@n
    end
 set @n=@n+1
 end
print @sum

四、 break和continue

         break: 小A和小B现在处于化神期,需要进行3次while轮回才能渡劫,谁知小A在第一次轮回中被不幸身亡,小B目睹了这一切,他看到小A身上多了一张符,也正是这张符让小A身亡的,符名叫做轮回(循环)结束符break。

     continue:下一刻,小B面前竟然也飘来一张符,因为在轮回,小B无处闪躲,只能被符粘上,小B看见符号上的字并说了出来 名字中有b者可跳出轮回(循环)符。

  五、CASE

                    我叫CASE,来自修仙界某个地方,我是我们村有名的戏法师!

                  (名:CASE  职业:戏法师 精通招式:影分身(单分支),多重影分身(多分支)

性格:喜怒无常,有时候你猜错了也会给你奖励,(根据真假是否返回某个值       

           事情是这样的: 一天碰见 表达式组合(有很多个表达式啊)我(CASE)很兴奋,因为我是和它们一起出演过,表达式组合,这个组合的任意位置  都能上去展示展示,我想了一下我很适合表演啊,表达式组合为什么不要我呢?原来表达式组合也要经常上头的允许啊!

  CASE:可根据表达式的真假确定是否返回某个值,可在允许使用表达式的任意位置使用这一关键字。CASE语句可以进行多个分支的选择

 案例如下:

 

--案例一
declare @a int,@msg varchar(10)
set @a=78
set @msg=
case
    when @a >=90 and @a<=100 then  'excellent'
    when @a>=70 and @a<90 then  'good'
    when @a>=60 and @a<70 then  'pass'
    else   'fail'
    end
    print @msg
--案例二
 declare  @month int,@sex varchar(10)
 set @month=121
 set @sex=
 case
     when @month>=1 and @month<=3 then '第一季度'
     when @month>=4 and @month<=6 then '第二季度'
     when @month>=7 and @month<=9 then '第三季度'
     when @month>=10 and @month<=12 then  '第四季度'
     else '无法识别'
     end
     print @sex

六、WAITFOR

                    你好,修仙者,我是一个法术技能

                    我经历过无数场战斗

                       我的作用就是延迟对面技能输出(延迟语句),最多24小时

                      直到有一天,一位呆头呆脑的仙民,只修灵力不休伤害,用了n次我(WAITFOR),在1200年展示n句  “我是呆瓜仙民”  然后修仙界都卡出bug了,然后修仙界都没了,直到博主的出现,才拯救了修仙界。

 

WAITOR延迟语句可以将它之后的语句在一个指定的时间间隔之后执行,或在未来的某一指定时间执行。

Waitfor delay ‘time’|time 'time'

其中delay用于设定等待的时间,最多可达24小时。time用于设定等待结束的时间点。

“时间的”数据类型必须为datatime格式为‘hh:mm:ss’,不能包含日期。

案例如下:

               

七、GOTO

      我没故事!博主太懒了,希望读者帮我补上!

     goto 标识符

标识符需要在其名称后加上一个冒号“:”

用goto语句实现跳转输出小于等于3的值

declare @x int

select @x=1

loving

print @x

select @x=@x+1

while @x<=3

goto loving

案例如下:

 

 --goto
     declare @r1 int
     set @r1=1
     loving:
     print @r1
     set @r1=@r1+1
     while @r1<=3
     goto loving

九、return无条件退出语句

         无论是你if else 兄弟还是轮回(循环)我都能直接退出 并结束   哈哈哈break符都是我小弟 哈哈哈哈     我就是这个修仙界的梦魇   谁料仙民不睡觉  

  还记得那日 我在炸鸡店排队 if兄弟在我前面esle弟在我后面,我看见if老哥又在欺负else老弟 ,当if哥要拿炸鸡的时候我直接毁掉(结束掉)这个炸鸡店,然后我就走了,不知道else老弟会不会谢谢我!

从查询或过程中无条件退出。此时位于return后面的语句时不被执行的RN

语法如下

RETURN[integer_expression]

参数含义如下:

integer_expression

案例如下:

  --return语句
     declare @q int
     set @q=4
     if @q>0
    -- print '遇见return之前'
     return
     else   print '遇见return之后'
   
     

下次见!

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值