这位博主居然说“我就是看故事也要把这知识学了”
作者:互联网
零、写在前面
本文是从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之后'
下次见!
标签:语句,set,int,else,修仙,学了,博主,print,居然 来源: https://blog.csdn.net/weixin_62902535/article/details/121533115