㈠ sql server 中select set 对变量赋值
declare @name varchar(10), @address varchar(100), @age int
set @name="zhangsan";
select @age=age ,@address=address from person where name = @name
print @name+'的年龄为:'+@age +'家庭住址为:'+@address
㈡ sql 查询中变量如何赋值
set @Date1 = DATEADD(MONTH,DATEDIFF(MONTH,0,@Date1)+1,0)
set @Date2 = DATEADD(MONTH,DATEDIFF(MONTH,0,@Date2)+2,0)-1
也就是前面用set关键字,表示赋值。
㈢ 数据库、SQL:select是不是可以用来赋值
可以赋值,但是变量要先定义
㈣ Sql中的set和select赋值方式的区别
最近的项目写的SQL比较多,经常会用到对变量赋值,而我使用SET和SELECT都会达到效果。
那就有些迷惑,这两者有什么区别呢?什么时候哪该哪个呢?
经过网上的查询,及个人练习,总结两者有以下几点主要区别:
假定有设定变量:
复制代码 代码如下:
DECLARE @VAR1 VARCHAR(1)
DECLARE @VAR2 VARCHAR(2)
1、SELECT可以在一条语句里对多个变量同时赋值,而SET只能一次对一个变量赋值,如下:
复制代码 代码如下:
SELECT @VAR1='Y',@VAR2='N'
-- 而SET要达到同样的效果,需要:
SET @VAR1='Y'
SET @VAR2='N'
/*
说到这个,SQL内置的变量:@@ERROR 和 @@ROWCOUNT必须要在一句SQL语句中捕获。如果用set分两句来获取它们,将获取不完整,这时就应该用select来获取值。
*/
2、表达式返回多个值时,用SET将会出错,而SELECT将取最后一个值,如下:
复制代码 代码如下:
----以下假定Permission表有多个IsRight记录
SELECT @VAR1 = IsRight FROM Permission --将取最后一个值
SET @VAR1 = IsRight FROM Permission --将报错
3、表达式无返回值时,用SET将置变量值为NULL,用SELECT交保持变量值,如下:
复制代码 代码如下:
----以下假定Permission记录为空
SET @VAR1 = '初始值'
SELECT @VAR1 = IsRight FROM Permission --此时@VAR1为'初始值'
SET @VAR1 = (SELECT IsRight FROM Permission) --此时@VAR1为NULL
4、使用标量子查询时,如果无返回值,SET和SELECT一样,都将置为NULL,如下:
复制代码 代码如下:
----以下假定Permission记录为空
SET @VAR1 = '初始值'
SELECT @VAR1 =(SELECT IsRight FROM Permission ) --此时@VAR1为NULL
SET @VAR1 = ( SELECT IsRight FROM Permission) --此时@VAR1为NULL
㈤ mysql 进:在存储过程中用select 如何给变量赋值
用select...into语句。
这个SELECT语法把选定的列直接存储到变量。因此,只有单一的行可以被取回。
重要:
SQL变量名不能和列名一样。如果SELECT ... INTO这样的SQL语句包含一个对列的参考,并包含一个与列相同名字的局部变量,MySQL当前把参考解释为一个变量的名字。例如,在下面的语句中,xname 被解释为到xname variable 的参考而不是到xname column的:
CREATEPROCEDUREsp1(xVARCHAR(5))
BEGIN
DECLARExnameVARCHAR(5)DEFAULT'bob';
DECLAREnewnameVARCHAR(5);
DECLARExidINT;
SELECTxname,idINTOnewname,xid
FROMtable1WHERExname=xname;
SELECTnewname;
END;
当这个程序被调用的时候,无论table.xname列的值是什么,变量newname将返回值‘bob’。
㈥ 如何用SQL代码将动态查询结果赋值给变量
1、首先最基本的赋值就是默认值了。
㈦ sql server 2000 如何把select的值赋给一个变量
直接使用 = 号可以赋值,如图把a列的值赋给变量 @name
需要注意:
1、sql中 使用 declare 声明 变量,变量要以@开头。
2、如果是直接赋值使用set ,如: set @name = 'name'
3、select 子句中赋值,需要注意结果集,如第一个例子中,
select @name = a from a (去除了 id=2的筛选),那么结果集为多条记录
那么@name 接收的值是结果集最后一条记录中 a列的值。
㈧ Sql中的set和select赋值方式的区别
SELECT赋值是通过查询语句返回唯一一条结果,给变量赋值
如
SELECT @ACCOUNT=ACCOUNT,@NAME=NAME
FROM 用户表
WHERE ID=@ID--唯一主键
SET 赋值是变量间赋值,或变量初始化。
如
SET @NAME='张三'
根据实际情况使用不同的方式获取需要的值。是根据数据来源来区分的。
㈨ Sql中如何给变量赋值
DECLARE @n1 int,@n2 varchar(10)
set @n1 =(select age from table where column=xxx)
set @n2=(select gender from table where column = xxx )
------------------
或者一起赋值
就是楼上那个
DECLARE @n1 int,@n2 varchar(10)
select @n1 =age,@n2=gender
from table where column = xxx
------------------
select @n1,@n2 就知道变量的值了