• SQL编程


    一:本章目标

    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语句的集合

  • 相关阅读:
    HBase Flush 机制
    HBase 预分区 & Phoenix 加盐
    Phoenix 索引
    python 列表、元组、字典、集合的比较操作
    Redis HA
    基于 Redis 和 ZooKeeper 的分布式锁
    Ubuntu 系统设置 Swappiness 值
    Ubuntu_16.04 安装 Pyhon3.6
    Win10创意者更新秋季版升级常见问题解决方案
    如何使用注册表在Win10中调整屏幕亮度
  • 原文地址:https://www.cnblogs.com/WJ-163/p/WangJing.html
Copyright © 2020-2023  润新知