T-SQL变量申明及若干函数笔记

本文详细介绍了SQL中变量的声明与赋值方法,包括局部变量和全局变量的区别,如何高效地进行变量赋值。同时讲解了数据类型转换函数的使用,并通过实例演示了如何利用isnull()函数处理空值。此外,还介绍了SQL的循环、等待函数以及异常处理机制,包括如何自定义错误ID和级别。
 
(1)@:用户定义   局部变量(作用域在本批中,变量间不可用go 分隔,否则报错)
@@:系统定义   全局变量

例:
  Declare @a int(对)
  Declare @b int (对)
  Declare @a,@b int (错)
  Declare @a int,@b int (对)
对变量赋值:set    select
set:效率高 ,但只能给一个变量赋值 如:set @a=10 (建议)
select:效率低,但要同时给多个变量赋值必须要用select

set @A=10 ,@b=20 (错)
select @A=10 ,@b=20 (对)

(2)数据类型的转换函数
cast(express as  tpye)
convert(tpye,express)
eg:
  print 'abc'+cast(123 as varchar(10))
  print 'abc'+convert(varchar(10),123)

(3)isnull()函数  --区别于 is null(判断是否为空)
select isnull(location,'无信息') from orders
查询location字段是否为空,为空,则返回 无信息 不为空则返回Location原值。

(4)  #表名:局部临时表,只在当前会话中有效
     ##表名:全局临时表,在所有的会话中有效

(5)T-SQL 只支持while循环

(6)waitfor函数
eg: waitfor delay  '00:00:03'
     print 'abc'                   ----------- 延迟3秒后显示执行结果
     waitfor time   '00:00:03'
     print 'abc'                   ----------- 定时效果,在凌晨3秒显示执行结果

(7)异常Exception
  RAISERROR:用户自定义的错误ID要在50000以上,50000以下是系统定义
  severity:代表错误的严重程度,级别为0-25级(17级以下用户可以自己解决,17级以上找DBA解决)
  0级表示可以正常显示,10级表示用户输入错误或不正确,11-16用户错误操作,17-25软件或硬件上的错误。

RAISERROR('错误ID’,错误的级别,状态)
RAISERROR('有怪兽',0,1)  -->有怪兽
RAISERROR('有怪兽',11,1)  -->消息208,级别11,状态1 第1行 有怪兽
RAISERROR('有怪兽',16,1)  -->消息 50000,级别16 ,状态1,第1行   有怪兽
RAISERROR('有怪兽',20,1) with log  -->消息 2407,级别16 ,状态1,第1行   有怪兽
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值