1. 如何在sql中定義一個函數,函數功能是傳入一個字元串,返回這個字元串中的數
1通過VisualStudio2008新建一個SQLServer項目。2,配置連接的資料庫點擊上一步確定後,可以通過添加新引用來添加一個資料庫連接(只適用MS SQL Server 2005或以上版本,再次提醒哦),添加以後選擇其中一個資料庫點擊確。3,添加一個自定義函數。然後編寫自定義函數的類即可。
用戶自定義函數是指如果要在公式或計算中使用特別復雜的計算,而工作表函數又無法滿足需要,則需要創建用戶自定義函數。
2. SQL Server中,自定義函數有哪三種
自定義函數分為:標量值函數或表值函數
- 如果RETURNS子句指定一種標量數據類型,則函數為標量值函數。可以使用多條Transact-SQL語句定義標量值函數。
- 如果RETURNS子句指定TABLE,則函數為表值函數。
表值函數又可分為:內嵌表值函數(行內函數)或多語句函數
- 如果RETURNS子句指定的TABLE不附帶列的列表,則該函數為內嵌表值函數。
- 如果RETURNS子句指定的TABLE類型帶有列及其數據類型,則該函數是多語句表值函數。
3. 求SQL 按分組拆分字元串並統計的自定義函數
SELECT SUBSTR(地區,1,3) AS 地區,
SUM(面積)AS 面積
COUNT(SUBSTR(地區,1,3))AS 個數
FROM 地區面積表
GROUP BY SUBSTR(地區,1,3)
4. SQL中的數據記錄統計函數怎麼用
用AS關鍵字轉換 比如 sql="select count(*) as num form 表名"
在
dim num
num=rs("num")
這樣就能統計表中有多少條記錄了
5. sql server 自定義函數來統計人數
內嵌用戶定義函數語法:
CREATE FUNCTION FN_Table
(@score FLOAT) // 參數
RETURNS TABLE
AS
RETURN(
// 查詢語句
SELECT 等級,不及格人數,及格人數,優秀人數 FROM 表 WHERE 分數=@score
)
// 測試
SELECT *FROM FN_Table(90)
6. SQL自定義函數的創建(給定班級號,統計該班級男女生數量)
CREATE FUNCTION dbo.fn_stucount (@classno nvarchar(20))
RETURNS TABLE
AS
RETURN
(
select a.sex,count(*)數量 from student a,class b where a.sno=b.sno and b.classno=@classno
group by a.sex
);
7. SQL創建用戶自定義函數
樓主我只寫了其中一個..基本方法都如此,希望對您有幫助,代碼如下
ALTER FUNCTION [dbo].[sum]
(
@class varchar(100), --所選課程
@username varchar(20) --學生姓名
)
RETURNS int
AS
BEGIN
DECLARE @reun int
SELECT SUN(@class) FROM YOURTABLE WHERE USERNAME=@username
RETURN @reun
END
8. sql自定義求和函數與計算列的用法
這種情況不需要用到函數,直接在創建表時定義計算列就行了。
create table 分數統計表 (
a int,
b int,
c int,
d int,
e int,
f as a + b + c + d + e)
9. sql 自定義的函數三種,有達人能給我3個事例順便講解下區別么。
1)標量函數求三個數中的最大值
create function func_max(@x int,@y int,@z int)
returns in
as
begin
if @x<@y
if @y<@z set @x=@z;
else @x=@y;
else
if @y<@z
if@x<@z set @x=@z;
return @x;
end;
2)內聯表值函數
create function func_find(@a int)
returns table
as
return(select * from test where a=@a)
3)多語句表值函數
create function func_find1(@sex char(2))
returns @func_find1 table(
sno int,
sname varchar(10),
sex char(2)
)
as
begin
insert into func_find1
select S.sno,S.sname,S.sex from S where S.sex=@sex
return
end
區別:
標量函數返回在returns自居中定義的類型的單個數據值,可以使用標量數據類型(包括bigint和sql_variant)。
內聯表值函數沒有函數主體,表是單個select語句的結果集。
多語句表值函數,在begin。。end塊中定義的函數主體包含SQL語句,這些語句可生成行並將行插入將返回的表中。其中的語句不能有任何副作用。
10. 什麼是SQL自定義函數
Create
Function
myFunc(@param1
int,@param2
varchar(50))
returns
int
as
begin
......
RETURN
0
end
類似這樣自己建的函數,就是SQL自定義函數,可以自定義參數和返回值的,能夠在查詢語句中使用的。
像max(),min(),getdate(),newid()這些就是系統函數了。