SQL server 中 关于@和declare的解释,请看详细

返回三条学生信息代码:declare@nint//declare是什么意思?是不是变量都要在前面加一个@符号来表示?为什么去掉@不行?set@n=3selecttop(@... 返回三条学生信息
代码:
declare @n int //declare是什么意思? 是不是变量都要在前面加一个@符号来表示?为什么去掉@不行?
set @n=3
select top(@n) * from student
展开
 我来答
颜尚儒6J
2020-03-23 · TA获得超过1153个赞
知道答主
回答量:20
采纳率:0%
帮助的人:2473
展开全部

@ 表示局部变量,@@ 表示全局变量


DECLARE: 定义变量,变量第一个字母是“@”,声明时需要指定变量的类型。


declare @n int ,其中int是使用整数数据的精确数字数据类型,从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据。



扩展资料:


1、可以使用set和select对变量进行赋值,在sql语句中就可以使用@local_variable来调用变量声明中可以提供值,否则声明之后所有变量将初始化为NULL;


2、有的时候在查询更新数据库的时候,需要多条语句的查询,因此需要多次修改,declare可以满足多次执行,但数据只修改一次;


3、使用 +、-、*、/ 或 % 等算术运算符将 int、smallint、tinyint 或 bigint 常量值隐式或显式转换为float、real、decimal 或 numeric 数据类型时,SQL Server 计算数据类型和表达式结果的精度时应用的规则有所不同,这取决于查询是否是自动参数化的。

leaves__147
2020-02-19
知道答主
回答量:4
采纳率:0%
帮助的人:598
展开全部

1.SQL server使用declare来声明局部变量。

语法:DECLARE @local_variable data_type 

其中,local_variable为局部变量的名称,data_type为数据类型。

2.SQL server中的变量前面都要加@。

其中,局部变量以一个@符号开头,全局变量以两个@@符号开头(如:@@ERROR)。

3.@可以看作局部变量的一个标志,是一种规定,不可以去掉的。

上图是declare一个简单应用的例子。

扩展资料:

1.用declare进行声明的同时也可对变量赋初值,如:declare @id int = 3                               

2.SQL server中使用@@表示的全局变量,是系统预先定义的,我们写的sql语句不能创建、修改这些变量的值,只能读取。

参考资料:

百度百科——SQLServer

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
流香羽
推荐于2017-11-23 · TA获得超过1540个赞
知道小有建树答主
回答量:925
采纳率:50%
帮助的人:1345万
展开全部
数据库脚本中:
declare 变量定义,定义的变量需要以“@”符号开头。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
njrji40
2010-11-26 · TA获得超过652个赞
知道小有建树答主
回答量:572
采纳率:0%
帮助的人:406万
展开全部
declare @sql varchar(500)
declare @a varchar(10)
select @a=convert(varchar(2),Day(getdate()))+'天'
set @sql='select ['+@a+'] from 视图名'
execute(@sql)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
牧之卉0j1
2010-11-26 · TA获得超过1150个赞
知道大有可为答主
回答量:1689
采纳率:0%
帮助的人:1730万
展开全部
语法

DECLARE
{{ @local_variable [AS] data_type }
| { @cursor_variable_name CURSOR }
| { @table_variable_name < table_type_definition > }
} [ ,...n]

@local_variable

变量的名称。变量名必须以 at 符 (@) 开头。局部变量名必须符合有关标识符的规则。有关详细信息,请参阅使用标识符作为对象名称。

data_type

系统提供的类型、CLR 用户定义类型或别名数据类型。变量不能是 text、ntext 或 image 数据类型。有关系统数据类型的详细信息,请参阅数据类型。有关 CLR 用户定义类型或别名数据类型的详细信息,请参阅 CREATE TYPE (Transact-SQL)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式