當前位置:首頁 » 編程語言 » 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 就知道變數的值了