Transact-SQL编程

博客中用到的数据库脚本文件: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
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值