当前位置:首页 » 编程语言 » sql变量赋值select
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql变量赋值select

发布时间: 2022-09-27 03:34:51

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 就知道变量的值了