sqlserver 局部变量的使用
更新时间:2010年06月24日 00:56:17 作者:
在SQL中我们或许会使用到局部变量的问题,下面给出微软的两个小例子
A. 使用 DECLARE
下例使用名为 @find 的局部变量检索所有姓以 Ring 开头的作者信息。
Use pubs
declare @find varchar(30)
set @find='Ring%'
select au_lname,au_fname,phone
from authors
where au_lname like @find
@find就是一个局部变量。
B. 在 DECLARE 中使用两个变量
下例从 Binnet & Hardley (pub_id = 0877) 的雇员中检索从 1993 年 1 月 1 日起所雇佣的雇员名称。
USE pubs
SET NOCOUNT ON
GO
DECLARE @pub_id char(4), @hire_date datetime
SET @pub_id = '0877'
SET @hire_date = '1/01/93'
-- Here is the SELECT statement syntax to assign values to two local
-- variables.
-- SELECT @pub_id = '0877', @hire_date = '1/01/93'
SET NOCOUNT OFF
SELECT fname, lname
FROM employee
WHERE pub_id = @pub_id and hire_date >= @hire_date
下面是结果集:
fname lname
-------------------- ------------------------------
Anabela Domingues
Paul Henriot
(2 row(s) affected)
下例使用名为 @find 的局部变量检索所有姓以 Ring 开头的作者信息。
复制代码 代码如下:
Use pubs
declare @find varchar(30)
set @find='Ring%'
select au_lname,au_fname,phone
from authors
where au_lname like @find
@find就是一个局部变量。
B. 在 DECLARE 中使用两个变量
下例从 Binnet & Hardley (pub_id = 0877) 的雇员中检索从 1993 年 1 月 1 日起所雇佣的雇员名称。
复制代码 代码如下:
USE pubs
SET NOCOUNT ON
GO
DECLARE @pub_id char(4), @hire_date datetime
SET @pub_id = '0877'
SET @hire_date = '1/01/93'
-- Here is the SELECT statement syntax to assign values to two local
-- variables.
-- SELECT @pub_id = '0877', @hire_date = '1/01/93'
SET NOCOUNT OFF
SELECT fname, lname
FROM employee
WHERE pub_id = @pub_id and hire_date >= @hire_date
下面是结果集:
fname lname
-------------------- ------------------------------
Anabela Domingues
Paul Henriot
(2 row(s) affected)
相关文章
MSSQL报错:参数数据类型 text 对于 replace 函数的参数 1 无效的解决办法
在sql中使用replace函数可以替换某个字段中的一些内容,但是如果字段是text类型那么使用replace函数就会报“参数数据类型text 对于replace 函数的参数1 无效。”,这个错误说明对text或ntext类型的数据在查询中不能进行字符串操作2014-03-03
最新评论