⑴ 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 就知道变量的值了
⑵ SQL中变量的种类及表现形式
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
拜托路过的各位高手,这个是我考试的题目,麻烦告诉我答案.谢谢~~
解析:
MS SQL Server中的变量- -
在SQL中,我们常常使用临时表来存储临时结果,对于结果是一个 *** 的情况,这种方法非常实用,但当结果仅仅是一个数据或者是几个数据时,还要去建一个表,显得就比较麻烦,另外,当一个SQL语句中的某些元素经常变化时,比如选择条件,(至少我想)应该使用局部变量。当然MS SQL Server的全局变量也很有用。
>>>>局部变量
声明:DECLARE @local_variable data_type
@local_variable 是变量的名称。变量名必须以 at 符 (@) 开头。data_type 是任何由系统提供的或用户定义的数据类型。变量不能是 text、ntext 或 image 数据类型。
示例:
use master
declare @SEL_TYPE char(2)
declare @SEL_CUNT numeric(10)
set @SEL_TYPE = 'U'/*user table*/
set @SEL_CUNT = 10
/*返回系统中用户表的数目*/
select @SEL_CUNT = COUNT(*)
from sysobjects
where type = @SEL_TYPE
select @SEL_CUNT as 'User table ''s count'
如果要返回系统表的数目,可以用set @SEL_TYPE = 'S'
可能这个例子并不能说明使用变量的好处,我只是想说明使用方法。当一组(几个甚至几十个)SQL语句都使用某个变量时,就能体会到他的好处了。
>>>>全局变量
全局变量是系统预定义的,返回一些系统信息,全局变量以两个at(@)开头。下面是我统计了一些较为常用的变量。
@@CONNECTIONS
返回自上次启动以来连接或试图连接的次数。
@@CURSOR_ROWS
返回连接上最后打开的游标中当前存在的合格行的数量。
@@DATEFIRST
返回每周第一天的数字
@@ERROR
返回最后执行的SQL 语句的错误代码。
@@FETCH_STATUS
返回被 FETCH 语句执行的最后游标的状态,而不是任何当前被连接打开的游标的状态。
@@IDENTITY
返回最后插入的标识值
@@LANGID
返回当前所使用语言的本地语言标识符(ID)。
@@LANGUAGE
返回当前使用的语言名。
@@LOCK_TIMEOUT
返回当前会话的当前锁超时设置,单位为毫秒。
@@PROCID
返回当前过程的存储过程标识符 (ID) 。
@@ROWCOUNT
返回受上一语句影响的行数。
@@SERVERNAME
返回运行 的本地服务器名称。
@@SPID
返回当前用户进程的服务器进程标识符 (ID)。
@@TRANCOUNT
返回当前连接的活动事务数。
@@VERSION
返回当前安装的日期、版本和处理器类型。
⑶ SQL基础教程的目录
1.1运行SQL程序
1.2Microsoft Access
1.3Microsoft SQL Server
1.3.1SQL Server 2000
1.3.2SQL Server 2005/2008
1.4Oracle
1.5IBM DB2
1.6MySQL
1.7PostgreSQL 2.1表、列和行
2.1.1表
2.1.2列
2.1.3行
2.2主键
2.3外键
2.4联系
2.4.1一对一
2.4.2一对多
2.4.3多对多
2.5规范化
2.5.1第一范式
2.5.2第二范式
2.5.3第三范式
2.5.4其他范式
2.6示例数据库
2.6.1表authors
2.6.2表publishers
2.6.3表titles
2.6.4表titles_authors
2.6.5表royalties
2.7创建示例数据库 3.1SQL语法
3.2SQL标准和一致性
3.3标识符
3.4数据类型
3.5字符串类型
3.6二进制大型对象类型
3.7精确数字类型
3.8近似数字类型
3.9布尔类型
3.10日期和时间类型
3.11时间间隔类型
3.12唯一标识符
3.13其他数据类型
3.14空值 4.1使用SELECT和FROM检索列
4.2使用AS创建列的别名
4.3使用DISTINCT消除重复的行
4.4使用ORDER BY排序行
4.5使用WHERE筛选行
4.6使用AND、OR和NOT组合及求反条件
4.6.1AND操作符
4.6.2OR操作符
4.6.3NOT操作符
4.6.4AND、OR和NOT一起使用
4.7使用LIKE匹配模式
4.8使用BETWEEN进行范围筛选
4.9使用IN进行列表筛选
4.10使用IS NULL测试空值 5.1创建派生列
5.2执行算术运算
5.3确定计算的顺序
5.4使用||连接串
5.5使用SUBSTRING()提取子串
5.6使用UPPER()和LOWER()更改串的大小写
5.7使用TRIM()修整字符
5.8使用CHARACTER_LENGTH()得到串长度
5.9使用POSITION()查找子串
5.10执行日期及时间间隔运算
5.11获得当前日期和时间
5.12获得用户信息
5.13使用CAST()转换数据类型
5.14使用CASE计算条件值
5.15使用COALESCE()检查空值
5.16使用NULLIF()比较表达式 6.1使用聚合函数
6.2创建聚合表达式
6.3使用MIN()查找最小值
6.4使用MAX()查找最大值
6.5使用SUM()计算总和
6.6使用AVG()计算平均值
6.7使用COUNT()统计行数
6.8使用DISTINCT聚合不重复的值
6.9使用GROUP BY分组行
6.10使用HAVING筛选分组 7.1限定列名
7.2使用AS创建表的别名
7.3使用联结
7.4使用JOIN或WHERE创建联结
7.5使用CROSS JOIN创建交叉联结
7.6使用NATURAL JOIN创建自然联结
7.7使用INNER JOIN创建内联结
7.8使用OUTER JOIN创建外联结
7.9创建自联结 8.1理解子查询
8.2子查询语法
8.3子查询和联结
8.4简单子查询和相关子查询
8.4.1简单子查询
8.4.2相关子查询
8.5在子查询中限定列名
8.6子查询中的空值
8.7使用子查询作为列表达式
8.8使用比较操作符比较子查询的值
8.9使用IN测试集合成员资格
8.10使用ALL比较所有子查询的值
8.11使用ANY比较某些子查询的值
8.12使用EXISTS检测存在性
8.13比较等价查询 9.1使用UNION合并行
9.2使用INTERSECT查找相同行
9.3使用EXCEPT查找不同行 10.1显示表结构
10.2使用INSERT插入行
10.3使用UPDATE更新行
10.4使用DELETE删除行 11.1创建表
11.2理解约束
11.3使用CREATE TABLE创建新表
11.4使用NOT NULL禁止空值
11.5使用DEFAULT确定默认值
11.6使用PRIMARY KEY指定主键
11.7使用FOREIGN KEY指定外键
11.8使用UNIQUE确保值唯一
11.9使用CHECK创建检查约束
11.10使用CREATE TEMPORARY TABLE创建临时表
11.11使用CREATE TABLE AS利用已存在表创建新表
11.12使用ALTER TABLE修改表
11.13使用DROP TABLE删除表 12.1使用CREATE INDEX创建索引
12.2使用DROP INDEX删除索引 13.1使用CREATE VIEW创建视图
13.2通过视图检索数据
13.3通过视图修改数据
13.3.1通过视图插入行
13.3.2通过视图更新行
13.3.3通过视图删除行
13.4使用DROP VIEW删除视图 15.1动态统计
15.2产生序列
15.3发现等差数列、递增数列和等值数列
15.4限定返回行的数量
15.4.1Microsoft Access
15.4.2Microsoft SQL Server
15.4.3Oracle
15.4.4IBM DB2
15.4.5MySQL
15.4.6PostgreSQL
15.5分配排名
15.6计算修整均值
15.7随机选取行
15.8处理重复值
15.9创建电话列表
15.10检索元数据
15.10.1Microsoft Access
15.10.2Microsoft SQL Server
15.10.3Oracle
15.10.4IBM DB2
15.10.5MySQL
15.10.6PostgreSQL
15.11处理日期
15.11.1Microsoft Access
15.11.2Microsoft SQL Server
15.11.3Oracle
15.11.4IBM DB2
15.11.5MySQL
15.11.6PostgreSQL
15.12计算中值
15.13查询极值
15.14改变动态统计的中流
15.15旋转结果
15.16处理层次结构
索引
⑷ T-SQL局部变量的赋值方法哪两种
1、局部变量的使用示例如下
use StudentManageDB
go
--声明学号变量
declare @stuid int,@stuname varchar(20)
--查询李铭的信息
set @stuname='李铭'
select StudentId,StudentName,Gender,StudentIdNo from Students
where StudentName=@stuname
--查询李铭的学号
select @stuId=StudentId from Students where StudentName=@stuname
--查询与李铭学号相邻的学员
select StudentId,StudentName,Gender,StudentIdNo from Students
where StudentId=(@stuId+1) or StudentId=(@stuId-1)
2、从例子中可以看出,赋值有两种方法:
(1)set:在代码中使用set关键字对变量进行赋值。
(2)select:在语句中使用select语句将查询出的数据赋值给变量。
⑸ mysql环境中,如何用sql语句给字符串变量赋值
mysql给字符串变量赋值的方法是用select into 变量结构完成赋值。
使用sql的结构语法:
SELECT ... INTO var_list selects column values and stores them into variables.
比如定义一个sql变量:
@x varchar(10);
@y varchar(20);
select id,name INTO @x,@y from dx_tt
这样就完成了赋值。
⑹ sql insert语句中如何使用变量
sql insert语句中使用变量:
(insert)向表中添加一个新记录,要使用SQL INSERT 语句。这里有一个如何使用这种语句的例子: INSERT mytable (mycolumn) VALUES (‘some data') 这个语句把字符串'some data'插入表mytable的mycolumn字段中。将要被插入数据的字段的名字在第一个括号中指定,实际的数据在第二个括号中给出。
INSERT 语句的完整句法如下:INSERT [INTO] {table_name|view_name} [(column_list)] {DEFAULT VALUES |
Values_list | select_statement}
如果一个表有多个字段,通过把字段名和字段值用逗号隔开,可以向所有的字段中插入数据。假设表mytable有三个字段first_column,second_column,和third_column.下面的INSERT语句添加了一条三个字段都有值的完整记录:INSERT mytable (first_column,second_column,third_column)
VALUES (‘some data','some more data','yet more data')
可以使用INSERT语句向文本型字段中插入数据。但是,如果需要输入很长的字符串,应该使用WRITETEXT语句。
如果在INSERT 语句中只指定两个字段和数据。向一个表中插入一条新记录,但有一个字段没有提供数据。在这种情况下,有下面的四种可能:
1)如果该字段有一个缺省值,该值会被使用。例如,假设插入新记录时没有给字段third_column提供数据,而这个字段有一个缺省值'some value'.在这种情况下,当新记录建立时会插入值'some value'。
2)如果该字段可以接受空值,而且没有缺省值,则会被插入空值。
3)如果该字段不能接受空值,而且没有缺省值,就会出现错误。会收到错误信息:The column in table mytable may not be null.
4)最后,如果该字段是一个标识字段,那么它会自动产生一个新值。当向一个有标识字段的表中插入新记录时,只要忽略该字段,标识字段会给自己赋一个新值。
注:向一个有标识字段的表中插入新记录后,可以用SQL变量@@identity来访问新记录 的标识字段的值。考虑如下的SQL语句:
INSERT mytable (first_column) VALUES(‘some value')
INSERT anothertable(another_first,another_second)
VALUES(@@identity,'some value')
如果表mytable有一个标识字段,该字段的值会被插入表anothertable的another_first字段。这是因为变量@@identity总是保存最后一次插入标识字段的值。
字段another_first应该与字段first_column有相同的数据类型。但是,字段another_first不能是应该标识字段。Another_first字段用来保存字段first_column的值。
⑺ SQL中的变量引用方法
strSQL = "selet * from table1 where name = ' " &UserName& " '"
上面这个语句肯定是在你的asp文件中的了。
asp字符串连接符是&,这个你知道的,所以,不难看出,strSQL是由三部分组成的:
1. "selet * from table1 where name = ' "
2. UserName
3. " '"
如果你把语句显示到页面上,你就可以看到,真正的语句如下(假设UserName变量的值是‘王明’):
selet * from table1 where name = '王明'
这也是最终你的数据库要执行的语句。
这就很容易解释了,双引号在ASP中定义字符,"'"这个是一个字符串,不过这个字符串只有一个字符,就是那个单引号,这个单引号要用到数据库SQL语句中使用。
一句话,双引号是ASP用来定义字符串的,&符号是用来连接两个字符串的。
祝好运。
⑻ .sql文件中怎么声明变量请详细说一下。
声明变量:
declare @变量名 变量类型
如:
declare @datetime datetime
设置变量值:
set @变量名 = 值
设置变量为当前时间:
set @变量名 = getdate()
⑼ SQL 查询语句如何定义变量
as在SQL中是别名的用法,它可以为表名取别名,也可以为列名取别名,
其作用主要是为了增加可读性。
⑽ 如何在SQL语句中使用变量
使用变量一般是在存储过程、方法、触发器等T-Sql编程的时候用的,使用Declare 来定义变量,在方法/存储过程/触发器等里面进行调用。