博客中用到的数据库脚本文件:https://download.csdn.net/download/sunshine543123/12087175
博客中用到的数据库和工具:SQL Server+SSMS下载安装
1.使用局部变量、全局变量
(1)定义一个tinyint的整型变量,为其赋值45,并显示变量的值
declare @a tinyint
set @a=45
print @a
(2)定义一个长度为20的可变长度型字符变量,为其赋值“Welcome to SWPU”, 并显示变量的值。
declare @a varchar(20)
set @a='Welcome to SWPU'
print @a
`
(3)查询当前数据库服务器名。
select @@SERVERNAME
(4)查询当前数据库管理系统版本。
select @@VERSION
2.函数的使用
(1) 数学函数的使用
分别用函数求出-3的绝对值,16的平方根,5的三次方。
select abs(-3)
select sqrt(16)
select power(5,3)
(2) 字符串函数的使用
1)分别将字符串“china”、“MACHINE”转换成大写、小写字母;
2)去掉字符串“ machine
”左边的空格,再与“china”及“press“连接起来;
3)去掉字符串“ machine
”右边的空格,再与“china”及“press“连接起来;
4)去掉字符串“ machine
”左右两边的空格,再与“china”及“press“连接起来;
print uppre('china')
print lower('MACHINE')
print ltrim(' machine')+'china'+'press'
print rtrim('machine ')+'china'+'press'
print rtrim(ltrim(' machine '))+'china'+'press'
5)用函数计算字符串‘I am a student.’的长度,并使用函数将其中的“student”替换为“teacher”。
declare @b varchar(20)
set @b='I am a student'
print len(@b)
set @b=REPLACE(@b,'student','teacher')
print @b
(3) 日期、时间函数的使用
1)返回系统当前日期并以整数形式返回当前日期的年份、月份、日及季度;
select getdate()
select year(GETDATE())
select month(GETDATE())
select day(GETDATE())
select DATEPART(quarter,GETDATE())
2)返回给定日期“2006-2-21”与当前日期相差的天数、月数及年数。
select DATEDIFF(year,'2006-2-21',GETDATE())
select DATEDIFF(month,'2006-2-21',GETDATE())
select DATEDIFF(day,'2006-2-21',GETDATE())
3)将当前日期转换为美国日期格式输出
select CONVERT(varchar(50),GETDATE(),101)
(4) 系统函数与元数据函数的使用
1)显示正在使用的用户名、数据库名;
2)返回当前主机标识及主机名称。
select user_NAME(), DB_NAME()
select HOST_ID(),HOST_NAME()
3.编写较复杂的Transact-SQL程序
(1) 在COMPANY数据库中,我们将员工的工资水平分为三类,即工资小于30000为低工资,工资大于等于30000且小于50000为中等工资,工资大于等于50000为高工资。请显示所有员工的姓名及其对应的工资水平。
select fname,lname,'salaryLevel'=case
when (SALARY<30000) then '低工资'
when(salary>=30000and salary<=50000) then'中等工资'
when(salary>5000) then'高工资'
end
from employee
(2) 用Transact-SQL语言编写程序计算1~100之间所有能被7整除的数的总和。
declare @sum int,@i int
set @sum=0
set @i=1
while(@i<101)
begin
if(@i%7=0)
set @sum=@sum+@i
set @i=@i+1
end
print @sum