实验二 Transact-SQL语言基础(2)
- 格式:doc
- 大小:60.00 KB
- 文档页数:4
实验二 Transact-SQL语言基础(2)
一、实验目的与要求:
1、掌握T-SQL语言的基本概念、语法格式。
2、掌握T-SQL语言常规标示符的格式规则(即命名规则)。
3、熟悉T-SQL语言的数据类型。
4、掌握T-SQL语言常量的数据类型及各类型常量的表达。
5、掌握局部变量的概念、局部变量名的约定规则。
6、掌握T-SQL语言局部变量的定义语句(DECLARE)、赋值语句(SET和SELECT)。
7、掌握T-SQL语言简单输出语句(PRINT和SELECT)。
8、掌握T-SQL语言常用内部函数的使用。
注意:⑴函数名及函数的调用格式;
⑵函数各参数(自变量)的数据类型及取值范围;
⑶各参数(自变量)的顺序及作用;
⑷函数值的数据类型。
9、掌握T-SQL语言各类型运算符及表达式的使用。
二、实验类型
基本验证型
三、实验内容
(一)启动“Microsoft SQL Server Management Studio” 并使用SQL 查询编辑器
具体操作,见实验一。
(二)在SQL查询编辑器窗格中,输入以下练习的命令,理解数据类型、常量、变量、表达式、函数等相关的知识(不必交作业):
1、有关常量的数据类型及表达。
(1) 字符串常量、数值常量及money常量 Print ‘Shandong University’
Select N‘Shandong University’,110,-1.32,1.3e9,$3000
(2) bit常量和datetime常量
Declare @a bit,@d datetime
Set @a=2
Set @d=’2010/03/24 18:10’
Select @a as ‘bit data’,@d as ‘datetime data’
2、局部变量的定义、赋值与简单输出(注意:SET与SELECT语句的区别,PRINT和SELECT语句的区别)。
DECLARE @idno char(18),@sname varchar(20),@class_1
varchar(30),@bd datetime;
Set @idno=’370101198202281417’
Select @sname=’Han Zhen’,@class_1=’database technology’
Set @bd=substring(@idno,7,8)
Select @idno,@sname,@class_1,@bd
3、完成以下有关函数及表达式的练习。
(1)数值函数的使用,分别输入以下输出语句:
○1select abs(-3*1.5),exp(abs(-3)*2)
○2select log(exp(1)),log10(exp(1)),log10(10)
○3select rand(),rand()*20,floor(rand()*10+20)
○4select sign(-2.6),sign(2),rand(1),rand(1)
○5select round(1.234567,4),round(1.234567,4,3),power(3.5,3)
○6select power(3.5,3),power(4,0.5),power(6,0.5),power(7.66,0.5)
○7select sqrt((52+73)/55),square(3.2)
(2)字符函数的使用,分别输入以下输出语句:
○1print ‘山东大学’+char(13)+’经济学院’
○2print’山东大学’+SPACE(4)+’经济学院’
○3 declare @a datetime
set @a=substring('370121198707217826',7,8) print @a
○4 select ascii(‘Shandong’),char(65);
○5 declare @a varchar(20);
set @a=‘Shandong University’;
select charindex(’dong’, @a),left(@a,8),right(@a,10),
len(@a),substring(@a,10,3);
select lower(@a),upper(@a),replicate(‘bye’,2)+’!’;
(3) 日期时间函数的使用,分别输入以下输出语句:
○1Declare @d datetime;
set @d=getdate();
select dateadd(yy,2,@d),dateadd(q,2,@d);
○2select datediff(d,getdate(),’20130501’)
○3select month(getdate()),year(getdate()),day(getdate())
四、作业(请在4月8日晚上实验结束前交)
1、写出下列命令具体实现的操作:
例如:Declare @a bit /*定义局部变量@a为bit类型*/
Set @a=2 /*给变量@a赋值2*/
Select @a as ‘bit data’ /*输出变量@a的当前值,列名为bit data*/
1)Declare @d datetime
Set @d=’2010/03/24 18:10’
Select @d as ‘datetime data’
set @d=getdate();
select dateadd(yy,2,@d),dateadd(q,2,@d);
select datediff(d,getdate(),’20130501’)
2)DECLARE @idno char(18),@bd datetime;
Set @idno=’370101198202281417’
Set @bd=substring(@idno,7,8)
Select @idno, year(@bd)
3) declare @a varchar(20);
set @a=‘Shandong University’;
select charindex(’dong’, @a),left(@a,8),right(@a,10),
len(@a),substring(@a,10,3);
select lower(@a),upper(@a),replicate(‘bye’,2)+’!’;
2、用函数完成下列问题的处理,并用简单输出命令输出(请上机验证后交作业)
1) 今年暑假开始时间是2013年7月1日,今天距放暑假还有多少天?
2) 张华出生日期是1989年9月8日,今年她几岁了?
3) 1919年6月28日凡尔赛条约的签订标志着一战的结束,那天是星期几?
4) 本周是今年的第几周?
5) 从“名字+空格+姓氏”格式的全名字符串中解析出名字和姓氏。例如,某人的全名是"George Washington",用函数分离出他的名字和姓氏。(提示:求出字符串的长度,并找出空格的位置,空格前是名字)
6) 产生(10,99)之间的随机整数。
7) 产生[10,99]之间的随机整数。
8) 假设ax2+bx+c=0是有实根的一元二次方程,写出相关的命令完成求解的过程,包括定义相关的变量(系数a、b、c及用于存放求出的解的变量)给系数变量赋初始值,求解,输出解的值(用于存放求出的解的变量的值)。