T-SQL编程入门

SQL编程要比Java编程、C#编程简单许多,下面我们直接讲干货21:04:31


 

使用变量

 局部变量

    在T-SQL中,局部变量的名称必须以标记@作为前缀。T-SQL的局部变量其实和Java中的局部变量的性质是一样的,只是声明和调用的方式有些区别。

    声明局部变量

      declare @StudentNo int其中的StudentNo是变量名称,是自己设定的。前面的declare是声明变量必须要用到的,不要改变。后面的int则是数据类型。

    变量的赋值:

      声明了变量就要使用,T-SQL中局部变量赋值有两种方法,分别是使用set语句或select语句。

      语法:set @StudentNo = 1 或者 select @StudentNo = 1

      

set语句和select语句的区别

 

set

select

同时对多个变量赋值

不支持

支持

表达式返回多个值时

出错

将返回的最后一个值赋给变量

表达式未返回值时

变量被赋值为null

变量保持原值


  全局变量:

    SQL Server中的所有全局变量都使用两个@符号作为前缀。下面列举一些常用的全局变量↓

全局变量

变量

含义

@@error

最后一个T-SQL错误的错误号

@@identity

最后一次插入的标识值

@@language

当前使用的语言的名称

@@max_connections

可以创建的、同时连接的最大数目

@@rowcount

受上一个sql语句影响的行数

@@servername

本地服务器的名称

@@servicename

该计算机上的SQL服务的名称

@@timeticks

当前计算机上每刻度的微秒数

@@transcount

当前连接打开的事物数

@@version

SQL Server的版本信息


  输出语句:

print语句和select语句,使用select语句输出数据是查询语句的特殊应用。

    语法:  print 局部变量或字符串

         select 局部变量 as 自定义列名

    使用print打印时可以使用“+”拼接字符串或者其他变量。但是如果变量类型不同时会报错,需要适当转换类型。

  数据类型转换:

convert(转换到什么类型,表达式,样式)cast(表达式,转换到什么类型)。这两种函数的不同之处是前者可以设定字符串样式,多用于设定时间。也可不设。

 

逻辑控制语句

  概述:

    T-SQL中常用的逻辑控制语句有if判断语句,while循环语句,case分支语句。前两者和Java中的语句不同之处在于:Java中条件后面需要加大括号。如果if后面只有一条语句时也可以不加大括号。

    而在T-SQL中,是没有大括号的,是用begin代替‘{’,用end代替‘}’。begin和end在代码中各占单独一行。

    而case语句则类似Java中的switch语句。用case代替‘switch’,用when代替‘case’。并且在T-SQL中case语句是没有break的(循环语句则有break和continue)。

    case语法:

        case

          when 条件1 then 结果1

          when 条件2 then 结果2

          [else 其他结果]        --可选

        end

 


至此我们已经基本了解了T-SQL中如何声明和使用变量以及逻辑语句的用法。 

ps:新手上路,还望大家多提建议

 


12-15补充:case结构也很像java中的三目运算。可以从不同的角度去理解。