数据库笔记 3

4.3数据类型

整数:

bigint  (-2^63 ~ 2^63-1)  8个字节

int (-2^32 ~ 2^32-1)  4个字节

smallint (-2^15 ~ 2^15-1)  2个字节

tinyint (0 ~ 255) 

 

浮点数据类型:

real  精确7位小数 4个字节

float  精确15位小数 8个字节

decimal  (-10^38 ~ 10^37)  2-17个字节

numreic  (-10^38 ~ 10^37)  2-17个字节

 

 

4.4 二进制数据类型

binary    binary(n) n:数据的长度1~8000

vartinary   vartinary(n)  n:数据长度 Ox

uniqueidentifier   uniqueidentifier()

二进制大型对象(binary large object)

 

逻辑数据类型:1个字节,输入其他数据类型默认为1

文本数据类型:

text    1 ~2^31-1

ntext    1 ~2^30-1

图形数据类型:image   1 ~2^31   Ox

 

 

4.5字符数据类型

char     char(n)1~ 8000

nchar    nchar(n)1~ 4000

varchar  varchar(n)可变长度

nvarchar nvarchar(n)1~ 4000

 

datetime      8个字节,前4个字节储存日期,后4个字节存储时间;公约1793.1.1  0时0分0秒 -9999.12.31  23时59分59秒

 

smalldatetime      4个字节;时间范围1900.1.1-2079.6.6

 

货币型:

money    -2^36 ~2^36-1     8个字节

smallmoney    -2^31~ 2^31-1     4个字节

 

sysname  nvarchar(128)

 

可变数据类型和表数据类型:

sql-variant   储存任何合法数据

table    查询后的结果

 

 

4.6变量

declare@test_Var int

set@test_Var=1000

select@test_Var

/*申明局部变量,定义数据类型为int

给变量赋值为1000的整数(给变量赋值可用:setselect)

查询变量中的值*/

 

 

4.7局部变量

局部变量以@开头

declare  申明

set  单一一个变量赋值

select   同时为多个变量赋值

print    单独输出一个

select   同时输出多个

 

declare@test_Var int,@test_Var2char(60)

select@test_Var=1000,@test_Var2='我是一个中国人'

print@test_Var

print@test_Var2

输出结果:



declare@test_Var int,@test_Var2char(60)

select@test_Var=1000,@test_Var2='我是一个中国人'

select@test_Var,@test_Var2

输出结果:

 


 

4.8全局变量

两个@@作为前缀


 

4.9

--这是一个Begin...end程序块

Begin

 

declare@test_Var int,@test_Stringvarchar(60)

select@test_Var=2000,@test_String='大家好,我是张奎勋'

if@test_Var=2000

print@test_String

 

end

/**

开始

申明两个变量@test_Var@test_String,分别定义为int类型和varchar类型

开始赋值

如果test_Var变量的值等于2000

输出test_String

*/

 

--这是一个Begin...end程序块

Begin

declare@test_Var int,@test_String1varchar(30),@test_String2varchar(30)

select@test_Var=100,@test_String1='录取',@test_String2='未录取'

if@test_Var=100

print@test_String1

else

print@test_String2

end

 

Begin

declare@test_Var1 int,@test_Stringvarchar(60)

select@test_Var1=2000,@test_String='大家好,我是张奎勋'

if@test_Var1=2000

print@test_String

end


 

 

4.11

Begin

declare@test_Var int,@test_String1varchar(30),@test_String2varchar(30)

select@test_Var=100,@test_String1='录取',@test_String2='未录取'

if@test_Var=100

print@test_String1

else

print@test_String2

end


 

 

4.12

--这是一个Begin...end程序块

Begin

declare@test_Var int,@test_String1varchar(30),@test_String2varchar(30),@test_String3varchar(30),@test_String4varchar(30)

select@test_Var=90,@test_String1='优秀',@test_String2='良好',@test_String3='及格',@test_String4=''

if@test_Var>=90and@test_Var<=100

print@test_String1

else if @test_Var>=80and @test_Var<90

print@test_String2

else if @test_Var>=60and @test_Var<80

print@test_String3

else if @test_Var<60

print@test_String4

end



 

4.14

--case 根据不同的条件给@test_String赋不同的值

Begin

 

declare@test_Var int,@test_Stringvarchar(30)

set@test_Var=100

set@test_String=

 

case

    when@test_Var>=90and@test_Var<=100then'优秀'

    when@test_Var>=80and@test_Var<90then'良好'

    when@test_Var>=60and@test_Var<80then'及格'

    else '不及格'

end

 

select '学院成绩为: '+@test_String

 

end

 

 

4.17

--while 循环,只要while后面的条件满足,就一直循环begin...end里面的代码,直到while后面条件不满足,然后输出语句

declare @test_Varint,@Sumint

select@test_Var=0,@Sum=0

while@test_Var<=200

begin

set @Sum= @Sum+@test_Var

set@test_Var = @test_Var +1

end

select '200以内所有整数之和为:',@Sum

 

 

4.18 break

--while 循环,只要while后面的条件满足,就一直循环begin...end里面的代码,直到while后面条件不满足,然后输出语句

--begin...end里的代码:

--一旦test_Var的值加到30,就跳出整个循环.

declare@test_Var int,@Sumint

select@test_Var=0,@Sum=0

while@test_Var<=200

begin

set @Sum= @Sum+@test_Var

set@test_Var = @test_Var +1

if@test_Var=30 /*先赋值,后+1,判断,再跳出整个循环*/

break

end

select '200以内所有整数之和为:',@Sum


 

--while 循环,只要while后面的条件满足,就一直循环begin...end里面的代码,直到while后面条件不满足,然后输出语句

--begin...end里的代码:

--一旦test_Var的值加到30sum值的再加一次test_Var,就跳出整个循环

declare@test_Var int,@Sumint

select@test_Var=0,@Sum=0

while@test_Var<=200

begin

set @Sum= @Sum+@test_Var

if @test_Var=30  /*+1,后赋值,判断,再跳出整个循环*/

break

set@test_Var = @test_Var +1

end

select '200以内所有整数之和为:',@Sum

 

 

4.19 continue

declare@test_Var int,@Sumint

select@test_Var=0,@Sum=0

while@test_Var<200

begin

set@test_Var = @test_Var +1

if@test_Var=100/*+1,后赋值,判断,再跳出当前循环*/

continue

set @Sum= @Sum+@test_Var

end

select '200以内所有整数之和为:',@Sum

 

 

4.20 Goto语句

--goto test_Target直接跳到test_Target:

print '大家好,这是一次goto语句测试'

gototest_Target

print '当前没有使用沟通跳转'

test_Target:

print '我是学习sqlserver的学员'

 

 

4.21

--goto test_Target直接跳到test_Target:

declare@test_Var int ,@sum int

select@test_Var=0,@sum=0

test_Target:

    set@test_Var=@test_Var+1

    set @sum=@sum+@test_Var

    while@test_Var<200gototest_Target/*+1,后赋值,判断循环条件,再跳出当前循环*/

select '200以内所有整数之和为:',@sum


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值