『壹』 sql怎麼聲明變數
聲明局部變數語法:DECLARE @variable_name DataType其中 variable_name為局部變數的名稱,DataType為數據類型。
給局部變數賦值有兩種方法:
1、SET @variable_name=value
2、SELECT @variable_name=value
兩者的區別:SET賦值語句一般用於賦給變數一個指定的常量,SELECT賦值語句一般用於從表中查詢出數據然後賦給變數。
例如:DECLARE @count int
SET @count=123
PRINT @count
全局變數:由於全局變數是系統定義的,我們這里只做舉例。
@@ERROR 最後一個T-SQL錯誤的錯誤號
@@IDENTITY 最後一次插入的標識值
@@LANGUAGE 當前使用的語言名稱
@@MAX_CONNECTIONS 可以創建的同時連接的最大數目
@@SERVERNAME 本地伺服器的名稱
@@VERSION SQL Server的版本信息
『貳』 SQL文件中怎麼聲明變數
declare @變數名 varchar(長度)/char(長度)/int/numeric(長度,位數)
直接給定義好的變數賦值:
set @變數名 = 值
print @變數名 可以查看值
注意:需要從開始定義變數名開始選中運行,sql會每次自動釋放定義的變數
『叄』 SQL中用戶可以定義局部變數,也可以定義全局變數對嗎
當然可以啊。
全局變數:
declare
@@qj
varchar(20)
局部變數:
declare
@jb
varchar(20)
至於為什麼,這是因為sql
server提供的功能.
就相當於問為什麼word里可以錄入文字一樣,是word軟體里設計的一種功能
『肆』 在hive查詢中使用變數
Hive配置屬性存儲於 hiveconf 命名空間中,該命名空間中的屬性是可讀寫的。在查詢語句中插入 '${hiveconf:變數名}' ,就可以通過 hive -hiveconf來替換變數。例如,查詢語句和執行方式如下:
需要注意的是:
Hive命令行變數,存儲於 hivevar 命名空間中,該命名空間中的變數是可讀寫的。使用方式和hive配置屬性類似,只是在查詢語句中插入的是 '${hivecar:變數名}' ,其中命名空間"hivecar:"可以省略。例如:
因為命令行變數的命名空間是唯一可以省略的,因此:
其他替換變數的方法:
利用shell腳本設置hive查詢語句中的變數
利用Python替換Hive查詢語句中的變數
『伍』 hive sql 中 怎麼用變數
第一步先准備測試表和測試數據用於後續測試:
hive> create database test;
OK
Time taken: 2.606 seconds
然後執行建表和導入數據的sql文件:
[[email protected] testHivePara]$ hive -f student.sql
Hive history file=/tmp/crazyant.net/hive_job_log_czt_201309131615_1720869864.txt
OK
Time taken: 2.131 seconds
OK
Time taken: 0.878 seconds
Copying data from file:/home/users/czt/testdata_student
Copying file: file:/home/users/czt/testdata_student
Loading data to table test.student
OK
『陸』 如何將sql server 中的欄位名定義為變數
不可以,列名、表名都不能用變數,可以通過拼接字元,然後用exec來執行 如,exec('update tb set '+列名變數+'='''+字元類的變數值+''' where 條件')
『柒』 DB2的SQL腳本如何定義變數,並賦值使用執行成功有重賞哦,謝謝
用存儲過程啊,給你個簡單的例子
CREATE PROCEDURE SPCARDTRACE
(
IN I_CARDNO VARCHAR(10)
)
-- 存儲過程功能 :
-- 創建人:
-- 創建日期:
-- 參數說明:
-- 01. : I_CARDNO 卡號
-- 02. :
-- 03. :
LANGUAGE SQL
SPECIFIC SPCARDTRACE
DYNAMIC RESULT SETS 1
MODIFIES SQL DATA
BEGIN
DECLARE V_CARDNO VARCHAR(10); --卡號
DECLARE V_EMPNAME VARCHAR(16); --持卡人
DECLARE V_CARDBALANCE DECIMAL(8,2); --卡余額
DECLARE V_HAPPENDATE INT;--統計時間
DECLARE V_MINTIME TIMESTAMP; --最小時間
DECLARE V_MAXTIME TIMESTAMP; --最大時間
DECLARE V_MINMONTH INT ;
DECLARE V_MAXMONTH INT ;
DECLARE V_ISSUECARDDATE TIMESTAMP; --發卡時間
DECLARE V_SUBSIDYMONEY DECIMAL(8,2);--補貼金額
DECLARE V_CONSUMEMONEY DECIMAL(8,2);--沖值金額
DECLARE V_PUTMONEY DECIMAL(8,2);--沖值金額
DECLARE V_OUTMONEY DECIMAL(8,2);--退款金額
DECLARE V_CHANGEMONEY DECIMAL(8,2);--改卡差額
DECLARE V_STRSQL VARCHAR(1000); --SQL
DECLARE CS CURSOR WITH RETURN TO CALLER FOR RETURNTABLE;
INSERT INTO TBCARDTRACE ( CARDNO,EMPNAME,CARDBALANCE,ISSUECARDDATE ,HAPPENDATE,
SUBSIDYMONEY,PUTMONEY,OUTMONEY ,CONSUMEMONEY,CHANGEMONEY )
VALUES (V_CARDNO,V_EMPNAME,V_CARDBALANCE,V_ISSUECARDDATE,V_HAPPENDATE,
V_SUBSIDYMONEY,V_PUTMONEY,V_OUTMONEY,V_CONSUMEMONEY,V_CHANGEMONEY);
END
『捌』 SQL 查詢語句如何定義變數
as在SQL中是別名的用法,它可以為表名取別名,也可以為列名取別名,
其作用主要是為了增加可讀性。
『玖』 SQL中用戶可以定義局部變數,也可以定義全局變數對嗎
可以。在資料庫編程中很常用到,比如oracle中,聲明在包package體內的,對整個包中的存儲過程、函數等都可見,也就是整個包中的全局變數。而在函數體內或者存儲過程內定義的變數則屬於局部變數了