Transact-SQL语言作业.doc
《Transact-SQL语言作业.doc》由会员分享,可在线阅读,更多相关《Transact-SQL语言作业.doc(8页珍藏版)》请在冰豆网上搜索。
Transact-SQL语言作业
学号:
20121020023 姓名:
张东旭 专业:
信息管理与信息系统
实验时间:
2013年10月16日 实验地点:
文汇楼机房3201
请使用Transact-SQL语言完成以下作业,要求:
(1)写出完整代码。
(2)每段代码都要求在查询分析器运行,并截图上交。
1:
给出结果:
selectlower(‘abc’)+space(5)+rtrim(‘ltrim(‘ 你好!
‘))
2:
求出‘数据库’在‘大型数据库技术’中的位置。
给出相应语句。
selectcharindex(‘数据库‘,’大型数据库技术‘)
3:
计算ASCII(‘Alklk’)。
给出相应语句。
selectasII(‘alklk’)
4:
计算字符串’SQLServer数据库管理系统’的长度。
给出相应语句。
selectlen(‘SQLServer数据库管理系统’)
5:
查找字符串’wo’在‘MYwonderful‘中的开始位置。
给出相应语句。
selectcharindex(’wo’,’MYwonderful’)
6:
selectstuff(‘Herld’,3,1,’llowo’)。
给出结果。
selectstuff(‘herld’,3,1’llowo’)
7:
求服务器当前的系统日期与时间.
selectgetdate()
8:
求出系统当前的月份和月份名字.
selectmonth(getdate())as‘当前月份’,
datename(month,getdate())as‘月份名称’
9:
Mary的生日为1979/12/23日,请用日期函数计算Mary现在的年龄.
declare@adatetime
set@a=‘1979-12-23’
selectyear(getdate())-year(@a)as‘mary现在的年龄是:
’
10:
求某个日期所在的月份有多少天.
selectdatediff(day,cast(cast(year(2013/10/16)asnvarchar)
+'-'+cast(month(2013/10/16)asnvarchar)+'-01'as
smalldatetime),dateadd(m,1,cast(cast(year(2013/10/16)
asnvarchar)+'-'+cast(month(2013/10/16)
asnvarchar)+'-01'assmalldatetime)))as当月天数
11:
返回今天的日期
selectyear(getdate())as‘年’,
month(getdate())as‘月’,
day(getdate())as‘日’
12:
求一个数是奇数还是偶数;
declare@aint
set@a=2013
if@a%2=0
printstr(@a)+‘是偶数’
elseprintstr(@a)+‘是奇数’
13:
求x,y,z三数的最大数;
Declare@xfloat(10),@yfloat(10),@zfloat(10)
Select@x=2013,@y=10,@z=16
If@x>@y
If@x>@z
Print‘最大数是:
’+str(@x)
Elseprint‘最大数是:
’+str(@z)
Elseif@y>@z
Print‘最大数是:
’+str(@y)
Elseprint‘最大数是:
’+str(@z)
14:
将三个数按从大到小顺序排列。
declare@xfloat(12),@yfloat(12),@zfloat(12)
select@x=2013,@y=2012,@z=2011
if@x<@yand@x<@z
if@y<@z
print'三个数由大到小依次排列为:
'+str(@z)+str(@y)+str(@x)
elseprint'三个数由大到小依次排列为:
'+str(@y)+str(@z)+str(@x)
if@y<@xand@y<@z
if@x<@z
print'三个数由大到小依次排列为:
'+str(@z)+str(@x)+str(@y)
elseprint'三个数由大到小依次排列为:
'+str(@x)+str(@z)+str(@y)
if@z<@yand@z<@x
if@y<@x
print'三个数由大到小依次排列为:
'+str(@x)+str(@y)+str(@z)
elseprint'三个数由大到小依次排列为:
'+str(@y)+str(@x)+str(@z)
15:
求n!
declare@sint,@nint
Select@s=1,@n=1
While@n>=1and@n<=10
begin
Select@s=@s*@n
Set@n=@n+1
End
Print@s