--T-SQL
--T-SQL不是标准SQL语句,它是微软添加的一些对SQL语句的扩展
--变量:局部变量,全局变量
--局部变量:声明一个局部变量需要使用@开头
declare @name nvarchar(8)
declare @age int
set @age=18
set @name='菲菲'
select @name='飞飞飞'
select @name as 姓名
print @age
--set和select赋值的区别
--从student表中,读取出'菲菲'的年龄,然后赋值到@age变量里
set @age=(select DATEDIFF(year,stuBirthday,getdate()) from student where stuName='张飞')
select @age as '年龄'
--如果使用set给变量赋值,值是用select语句从数据表里查出来的,需要把select语句用()括住
select @age=DATEDIFF(YEAR,stuBirthday,GETDATE()) from student where stuName='张飞'
select @age
--一般如果从数据表里读值,赋值给变量,多使用select关键字赋值,其他的用set
declare @name nvarchar(8)
select stuName from student
--如果查询出的结果是多个值,不允许使用set给变量赋值
--但是可以使用select给变量赋值,所赋的值是查询结果的最后一个值
declare @number int
set @number=3
set @number +=1
select @number
--如果不给变量赋初值,那么变量的初值就是NULL,NULL与任何数做运算结果还是NULL
--全局变量
--SQL Server的全局变量是由系统定义和维护的,我们只能读取已定义的全局变量的值。
--不能自定义,也不能修改全局变量的值
--全局变量是@@开头的
select @@VERSION
select @@LANGUAGE
select @@MAX_CONNECTIONS
select @@SERVERNAME
select * top(3) from student
select @@ERROR--上一次执行的错误码