変数を使用します
ローカル変数
-
接頭辞として@は@ageとしてマークする必要があります
-
使用ローカル変数は、代入を(キーワードDECLAREを使用して)宣言すること
DECLARE @age INT --声明局部变量@age --SET @age=20 --赋值局部变量 SELECT @age=20 SELECT @age --查看局部变量的值
スクリーニングは、1つのレコードだけであることを確実にするために使用SELECT割り当て
グローバル変数
- プレフィックス必見@@、としてタグ@@バージョンとして
- 唯一の定義されたシステムによって読み取られ、維持することができ、あなたは、グローバル変数の値を変更することはできません
変数を使用します
質問:書き込みT-SQLクエリ暁明の学生とその隣接する学校の数
DECLARE @StuId INT --声明学号变量,这个变量记录小明的学号
SELECT @StuId=ID FROM Student WHERE Name='小明'--根据学生姓名查询出改学生的学号
SELECT * FROM Student WHERE ID=(@StuId+1) OR ID=(@StuId-1)--根据这个学号查询相邻的学员信息
SETとSELECTの違い
利用シナリオ | セットする | 選択する |
---|---|---|
同時に複数の変数の代入で | サポートしていません。 | サポート |
式は、複数の値を返す場合 | エラー | 変数に返された最後の値 |
式は値を返さない場合には | 変数はNULL値を割り当てられ、 | 変数は、その値を保持しています |
DECLARE @age INT,@name VARCHAR(20)
--SET @age=20,@name='张三'--不允许这样做
SELECT @age=20,@name='张三'
SELECT @name
--SET @name=(SELECT Name FROM Student)
SELECT @name=Name FROM Student
--SET @name=(SELECT NAME FROM Student WHERE ID=0)
SELECT @name=NAME FROM Student WHERE ID=0
SELECT @name
グローバル変数の使用
変数 | 意味 |
---|---|
@@エラー | 最後のT-SQLエラーのエラー番号 |
@@身元 | 最後に挿入されたID値 |
@@言語 | 現在使用されている言語の名前 |
@@ MAX_CONNECTIONS | 作成可能な同時接続の最大数 |
@@ ROWCOUNT | 対象のSQL文によって影響を受けた行数 |
@@サーバーの名前 | ローカルサーバーの名前 |
@@ TRANSCOUNT | 取引現在開いている接続の数 |
@@バージョン | のSQL Serverのバージョン情報 |
データ型変換
データ型変換
-
キャストを達成するための変換関数を使用します
CONVERT(数据类型,表达式,样式)--第三个参数可以省略。它一般用于日期类型数据转换为字符类型,
PRINT '平均年龄是:'+CONVERT(VARCHAR(20),@avgAge)
-
CASTを変換する機能を使用
CASR(表达式 AS 数据类型)
PRINT '平均年龄是:'+CAST(@avgAge AS VARCHAR(20))