sql值变量
1. sql语句更新值为变量怎么写
sql语句更新值为变量怎么写参考以下方法
1.
首先需要打开sql server 数据库。
2.
点击新建查询按钮,进入sql 执行界面。
3.
编写sql 更新语句,update tablename set name='更新' ,点击执行梁高顷按橡陆钮。
4.
使用查询语句,检查念神是否更新成功,select * from tablename。
2. SQL 中有哪几种类型的变量,各自有什么特点。
bit
整型
bit 数据类型是整型,其值只能是0、1或空值。这种数据类型用于存储只有两种可能值的数据,如Yes 或No、True 或Fa lse 、On 或Off
int
整型
int 数据类型可以存储从- 231(-2147483648)到231(2147483 647)之间的整数。存储到数据库的几乎所有数值型的数据都可以用这种数据类型。这种数据类型在数据库里占用4个字节
smallint
整型
smallint 数据类型可以存储从- 215(-32768)到215(32767)之间的整数。这种数据类型对存洞虚斗储一些常限定在特定范围内的数值型数据非常有用。这种数据类型在数据库里占用2 字节空间
tinyint
整型
tinyint 数据类型能存储从0到255 之间的整数。它在你只打算存储有限数目的数值时很有用。 这种数据类型在数据库中占用1 个字节
numeric
精确数值型
numeric数据类型与decimal 型相同
decimal
精确数值型
decimal 数据类型能用来存储从-1038-1到1038-1的固定精度和范围的数值型数据。使用这种数据类型时,必须指定范围和精度。 范围是小数点左右所能存储的数字的总位数。精度是小数点右边存储的数字的位数
money
货币型
money 数据类型用来表示钱和货币值。这种数据类型能存储从-9220亿到9220 亿之间的数据,精确到货币单位的万分之一
smallmoney
货币型
smallmoney 数据类型用来表示钱和货币值。这种数据类型能存储从-214748.3648 到214748.3647 之间的数据,精确到货币单位的万分之一
float
近似数值型
float 数据类型是一种近似数值类型,供浮点数使用。说浮点数是近似的,是因为在其范围内不是所有的数都能精确表示。浮点数可以是从-1.79E+308到1.79E+308 之间的任意数
real
近似数值型
real 数据类型像浮点数一样,是近似数值类型。它可以表示数值在-3.40E+38到3.40E+38之间的浮点数
datetime
日期时间型
datetime数据类型用来表示日期和时间。这种数据类型存储从1753年1月1日到9999年12月3 1日间所有的日期和誉弊时间数据, 精确到三百分之一秒或3.33毫秒
Smalldatetime
日期时间型
smalldatetime 数据类型用来表示从1900年1月1日到2079年6月6日间的纳磨日期和时间,精确到一分钟
cursor
特殊数据型
cursor 数据类型是一种特殊的数据类型,它包含一个对游标的引用。这种数据类型用在存储过程中,而且创建表时不能用
timestamp
特殊数据型
timestamp 数据类型是一种特殊的数据类型,用来创建一个数据库范围内的唯一数码。 一个表中只能有一个timestamp列。每次插入或修改一行时,timestamp列的值都会改变。尽管它的名字中有“time”, 但timestamp列不是人们可识别的日期。在一个数据库里,timestamp值是唯一的
Uniqueidentifier
特殊数据型
Uniqueidentifier数据类型用来存储一个全局唯一标识符,即GUID。GUID确实是全局唯一的。这个数几乎没有机会在另一个系统中被重建。可以使用NEWID 函数或转换一个字符串为唯一标识符来初始化具有唯一标识符的列
char
字符型
char数据类型用来存储指定长度的定长非统一编码型的数据。当定义一列为此类型时,你必须指定列长。当你总能知道要存储的数据的长度时,此数据类型很有用。例如,当你按邮政编码加4个字符格式来存储数据时,你知道总要用到10个字符。此数据类型的列宽最大为8000 个字符
varchar
字符型
varchar数据类型,同char类型一样,用来存储非统一编码型字符数据。与char 型不一样,此数据类型为变长。当定义一列为该数据类型时,你要指定该列的最大长度。 它与char数据类型最大的区别是,存储的长度不是列长,而是数据的长度
text
字符型
text 数据类型用来存储大量的非统一编码型字符数据。这种数据类型最多可以有231-1或20亿个字符
nchar
统一编码字符型
nchar 数据类型用来存储定长统一编码字符型数据。统一编码用双字节结构来存储每个字符,而不是用单字节(普通文本中的情况)。它允许大量的扩展字符。此数据类型能存储4000种字符,使用的字节空间上增加了一倍
nvarchar
统一编码字符型
nvarchar 数据类型用作变长的统一编码字符型数据。此数据类型能存储4000种字符,使用的字节空间增加了一倍
ntext
统一编码字符型
ntext 数据类型用来存储大量的统一编码字符型数据。这种数据类型能存储230 -1或将近10亿个字符,且使用的字节空间增加了一倍
binary
二进制数据类型
binary数据类型用来存储可达8000 字节长的定长的二进制数据。当输入表的内容接近相同的长度时,你应该使用这种数据类型
varbinary
二进制数据类型
varbinary 数据类型用来存储可达8000 字节长的变长的二进制数据。当输入表的内容大小可变时,你应该使用这种数据类型
image
二进制数据类型
image 数据类型用来存储变长的二进制数据,最大可达231-1或大约20亿字节
3. 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列的值。
4. 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的版本信息
5. 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 就知道变量的值了
6. Sql中如何给变量赋值
/*
Sql server 存储过程中怎么将变量赋值
*/
--SQL赋值语句
DECLARE @test1 INT
SELECT @test1 = 111
SET @test1 = 222
--SQL函数赋值,假定count()是自定义函数
DECLARE @test2 INT
SELECT @test2 = COUNT(*) FROM sys.sysobjects
--SQL存储过程赋值,直接传参处理(类似C语言中的指针吗)
IF OBJECT_ID('sp_test') IS NOT NULL DROP PROCEDURE sp_test
GO
CREATE PROCEDURE sp_test(@test INT OUTPUT)
AS
BEGIN
SELECT @test = 999
GO
DECLARE @test3 INT
EXEC sp_test @test3 OUTPUT
SELECT @test3
DROP PROCEDURE sp_test
GO
7. SQL中某列的默认值可以设置为变量么
SQL中可以设置某列的默认值为变量。
以创建一个表,时间字段为当前时间为例,可用如下语句:
createtabletest
(idint,
begin_timedatetimedefaultgetdate())
其中default getdate()则为当前的时间:
插入测试数据:
insertintotest(id)values(1)
结果:
由此可见,时间是随着当前的时间变化的。
8. SQL语句中字段的值是变量怎么传递
如果你用存储过程的话,你可以声明一个变量来存放sql:
DECLARE @SQL_1 VARCHAR(8000)、
SET @SQL_1='update [表1] SET U_'+i+'=2 FROM [表1] where code=001 '
EXEC @SQL_1
如果你sql是直接写在asp里的话:
sql1="update [表1] SET U_"&i&"=2 FROM [表1] where code=001"
9. 怎么把 sql语句查询的值赋给变量
查询到的某个字段的当前值 赋给 单个变量:
SELECT@变量=字段1FROM表1WHERE限制条件
如果查询得到的是多条记录,你要转赋给别的表,那就要用到游标或临时表了。
建议用临时表,容易理解一些:
SELECT字段1
INTO#临时表
FROM表1
WHERE限制条件