sql server 笔记1--case、WAITFOR、TRY CATCH

一、case

转自:http://blog.csdn.net/add8849/article/details/576424

深入使用:http://blog.csdn.net/akuoma/article/details/5836491

1. SQL中 case when then end的用法

示例一

SELECT 学号, 姓名, 
 等级= 
    CASE 
    WHEN 总学分 IS NULL THEN ‘尚未选课’
       WHEN 总学分 < 50 THEN ‘不及格’
        WHEN 总学分 >=50 and 总学分<=52 THEN ‘合格’
        ELSE ‘优秀’
    END  FROM  XS    WHERE 专业名=’计算机’ 

示例二

update employee
set e_wage =
 case
  when job_level = ’1’ then e_wage*1.08
  when job_level = ’2’ then e_wage*1.07
  when job_level = ’3’ then e_wage*1.06
  else e_wage*1.05
 end 

示例三

select a, (case a when 1 then '中' else '国' end) AS B  from table1

2.sqlserver字符串拆分(split)方法汇总 :http://www.cnblogs.com/aierong/archive/2008/11/19/sqlserver_split.html

二、WAITFOR

WAITFOR { DELAY time | TIME time | (receive_statement) [TIMEOUT timeout] }
说明: DELAY 可以继续执行批处理、存储过程或事务之前必须经过的指定时段,最长可以24小时。
Time 要等待的时间。可以使用datetime数据可接受的格式之一指定time,也可以将其指定为局部变量,不能指定日期。
因此,不允许指定datetime值的日期部分
TIME 指示SQL Server等待到指定时间。
receive_statemen 任何有效的RECEIVE语句。
例1:下面的示例使用TIME关键字等到晚上10点执行【体育场管理系统】数据库检查来确保所有页已正确分配和使用:
USE 体育场管理系统 GO BEGIN WAITFOR TIME '22:00' DBCC CHECKALLOC END GO
例2:waitfor delay '00:00:03'; select * from tableA

三、TRY CATCH :http://technet.microsoft.com/zh-cn/library/ms175976.aspx

BEGIN TRY
     { sql_statement | statement_block }
END TRY
BEGIN CATCH
     [ { sql_statement | statement_block } ]
END CATCH
[ ; ]

转载于:https://www.cnblogs.com/ylemzhang/p/3401131.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值