sql语句小练习

1计算100天后病毒发作的日期。

print convert(varchar(50), dateadd(day,100,getdate()),111)

2凡是入职一年以上的员工,工资增加500

update employee set fsalary=fsalary+500 where datediff(yy,empintime,GETDATE())=1

3计算1975105日到现在现在相差多少年///小时?

print  datediff(yy,'1975-10-5',getdate())

print datediff(mm,'1975-10-5',getdate())

print datediff(dd,'1975-10-5',getdate())

print datediff(hh,'1975-10-5',getdate())

4统计2008年入职的员工

select COUNT(*) from T_Employee where DATEPART(yy, 入职日期)='2008'

5输出所有数据中通话时间最长的5条记录。

select top 5 * from t_callers order by DATEDIFF(ss,startdatetime,enddatetime) desc

6将结果集加入一列“通话时长(秒)”

select top 5 *,DATEDIFF(SS,startdatetime,enddatetime) as 通话时长 from t_callers order by DATEDIFF(SS,startdatetime,enddatetime) desc

三、Case函数用法

1.1

use School

 SELECT * FROM Score

 SELECT * FROM Student

--90分以上优秀

--80分以上良好

--70分以上中等

--60分以上及格

--60分以下不及格

 

select FName,FEnglish,

(case

when FEnglish>=90

then '优秀'

when FEnglish>=80

then '良好'

when FEnglish>=70

then '中等'

when FEnglish>=60

then '及格'

else '不及格'

end

)

from MyStudents

2、要求,查询结果集中有A B C三列,SQL语句实现:当A列大于B列时,在C中显示A列的值否则显示B列中的值。

 

select a,b,

 (

 case

 when a>b then a

 else b

 end

 ) as 'c'

  from abc

3、  在订单表中,统计每个销售员的总销售金额,列出销售员名、总销售金额、称号(>6000金牌,>5500银牌,>4500铜牌,否则普通)

 

  select 销售员,总销售金额=SUM(销售数量*销售价格),

  (

  case

  when SUM(销售数量*销售价格)>6000

  then '金牌'

  when SUM(销售数量*销售价格)>5500

  then '银牌'

  when SUM(销售数量*销售价格)>4500

  then '铜牌'

  else '普通'

  end

  )

   from MyOrders group by 销售员

4

单号   金额          

Rk1     10

Rk2     20

Rk3     -30

Rk4     -10

将上面的表输出为如下的格式:

单号   收入   支出

Rk1     10       0

Rk2     20       0

Rk3      0        30

Rk4      0        10

 

select number,

     (

     case

     when ammont>0 then ammont

     else 0

     end

     )as 收入,

     (

     case

     when ammont>0 then 0

     else ABS(ammont)

     end

     )as 支出

     

      from _abs

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值