码迷,mamicode.com
首页 > 数据库 > 详细

SQL编程

时间:2016-03-05 17:35:01      阅读:284      评论:0      收藏:0      [点我收藏+]

标签:

一:本章目标

1:掌握如何定义变量并赋值      

2:如何输出显示数据

3:数据类型转换 cast()和convert()函数   

4:掌握逻辑控制语句:

顺序结构控制语句:begin-end语句

分支结构控制语句:if-else语句和case-end语句

循环结构控制语句:while语句

5:使用批处理指令完成多语句批量处理(GO指令)

二:变量

定义:变量是存储数据的容器

变量分为局部变量全局变量

局部变量的使用是先申明再赋值。而全局变量由系统定义和维护,可以直接使用,但一般不自定义全局变量

1:局部变量:

局部变量的名称必须以标记@作为前缀

声明局部变量的语句如下:

declare @variable name(局部变量名称) DataType(数据类型)

局部变量赋值有两种方法:使用Set语句或Select语句

例子:

整型:

declare @num int
set @num=10
print ‘num的值是:‘+convert(nvarchar(32),@num)

字符串类型:(char  varchar  nvarchar)

 

declare @name nvarchar(32)
set @name=‘赵六‘
print @name

 

小数类型(float decimal  numeric(18,0))

declare @number decimal(18,2)
set @number=1.3
print @number

日期类型(datetime))

declare @mydate datetime
set @mydate=GETDATE()
print convert(nvarchar(32),@mydate,120)

 

 

2:全局变量

SqlServer中的所有全局变量都使用两个@符号作为前缀

常用的几个全局变量:

@@error(重点) 上一条SQL错误号
@@identity 最后一次插入的标识值
@@rowcount 受上一个SQL语句影响的行数
@@serviceName 该计算机上的SQL服务名称
@@Version SQLServer的版本信息

 

 

  

 

  

 

注:程序员不能自己定义全局变量,不能给全局变量赋值

三:select语句和set语句区别

  Set Select
同时对多个变量赋值 不支持 支持
表达式返回多个值时 出错 将返回的最后一个值赋给变量
表达式未返回值时 变量将赋值为NULL 变量保持原值

 

 

 

 

eg:

注:被赋值的变量的数据来源于数据表的时候,不要用set,选用select

Declare @stuName nvarchar(32)
Select @stuName=studentname from student
Where studentno=23

  

四:数据类型转换

cast()与convert()函数

基本语法:

cast(表达式 as  数据类型)

convert(数据类型[(长度)],表达式[,样式])

二者在本质上无任何区别 唯一不同之处是:在将日期时间类型的数据转换为字符串数据时,convert()函数可以通过第三个参数指定转换后字符数据的显示格式不同。

五:逻辑控制语句

1:顺序结构控制语句

begin 

      语句或语句块

end

类似于C#语言的“{}”表示语句块的开始和结束

2:If-else条件语句

金典案例:

统计并显示2013-08-09 oop考试平均分

如果平均分在70以上,显示考试成绩优秀,并显示前三名学生的考试信息

如果在70以下,显示考试成绩较差,并显示后三名学生的考试信息

技术分享

 

3:while循环语句

注:SQL 中,只有while一种循环,没有do-whilefor循环

经典案例:

 

检查学生“oop”课最近一次考试是否有不及格(60分及格)的学生。

 

如有,每人加2分,高于95分的学生不再加分,直至所有学生这次考试成绩均及格

技术分享

 

技术分享

4:case多分支语句

case-end语句计算一组条件表达式,并返回其中一个符合条件的结果

基本语法:

case

    when  条件1  then  结果1

    when  条件2  then  结果2

    [ else 其他结果]

end

经典案例:

 

ABCDE五级打分制显示学生oop课最近一次考试成绩(姓名和等级)

 

A:   90分以上,B级:80-分,C:   70-分,D级:60-分,E级:60分以下

技术分享

 

五:批处理

GO指令:GO关键字标志着批处理的结束,它是一条或多条SQL语句的集合

 

SQL编程

标签:

原文地址:http://www.cnblogs.com/WJ-163/p/WangJing.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!