sql sever 基础 练习题

--1. 求半径2米,高3米的圆柱体体积。

1 declare r @hight float,@r float,@ratio float ,@ v float --声明变量
2 set @hight=3    --赋值
3 set @r=2
4 set @ratio =3.14
5 set @v=@hight*@r*@r*@ratio
6 print '体积为'+convert(varchar(20),@v)+'立方米' --输出的时候因为定义为浮点 无法一起输出 所以用convert改变数据类型

--2. 求字符串‘abcdefg’的长度。

1 select len('abcdefg')  --求长度用len

--3. 显示pubs数据库中所有作家的au_lname的开头两个字母,大写显示。(字符函数)

1 select  upper  (left(au_lname,2)) from authors   转化为大写用upper()

--4. 取字符串‘abcdefg’的第2到第5个字母。(字符函数)

1 select substring ('abcdefg',2,5)

----5. 计算2001年9月11日到今天已经多少天了。(日期函数)

1 select datediff (DAY,'2001-09-11' , getdate()) as ''
2 select datediff  (month,'2001-09-11' , getdate()) as''
3 select datediff (year,'2001-09-1', getdate()) as ''
select datetime 指定日期中的部分字符串 因为今天做练习 我个废物游标循环 添加年代。。搞了2个多小时

--6.     ,找出编号为BU7832的记录,如果类型为business 显示商业类型。(if语句

1 declare @type   varchar(20)
2 select @type=type from titles where title_id='BU7832'
3 if(@type='business')
4      begin
5         print '商业类型为: business'
6         select *form titles where title_id='BU7832'
7     end

--7.     查询pubs数据库publishers表,获取出版商名称和所在的国家,如果国家名为USA Germany France分别显示其对应中文的形式使用case语句)

1 SELECT country, 国家 = CASE  
2                   WHEN country = 'USA' THEN '美国'
3                   WHEN country = 'Germany' THEN '德国'
4                   WHEN country = 'France' THEN '法国'
5                ElSE ''
6 
7               END
8       FROM publishers

--8、    查询pubs数据库的employee表,如果表中雇员的平均服务时间长于10年,则打印信息:‘我们的雇员都很忠诚:)’,否则打印信息:‘我们的雇员经常跳槽:(’。

 1 select datediff(year,hrie_date,getday())from employee as 'year'
 2 into  years
 3 from employee
 4 declare @time =avg(year) from years
 5 if(@time>10)
 6     begin
 7         print '我们的雇员很忠诚'
 8     end
 9 else
10     begin
11         print '我们的雇员经常跳槽'
12     end
13 --想了下用别的写 多此一举啊

--9. 查询pubs数据库中employee表,显示相关雇员信息(id,姓名,服务时间等),其中增加一个‘雇员类型’列:如果雇佣时间长于18年,则显示他为‘新雇员’,否则显示他为‘老雇员’

1 select emp_id,fname,lname,hrie_date,
2     'year'= case
3         when datediff(year,hrie_date,gettime())>19
4          then '老雇员'
5         else '新雇员'
6         end
7 from employee

--只看题目不看逻辑 神他妈老员工

 

posted @ 2017-06-29 19:41  小蔬菜  阅读(501)  评论(0编辑  收藏  举报