SQL SERVER中聚合函數(shù)主要有:

創(chuàng)新互聯(lián)是專業(yè)的密山網(wǎng)站建設(shè)公司,密山接單;提供成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行密山網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
(1)求員工總?cè)藬?shù)
(2)求最大值,求最高工資
(3)求最小時(shí),求最小工資
(4)求和,求所有員工的工資總和
(5)求平均值,求所有員工的平均工資
ROUND函數(shù)用法:
(6)求數(shù)量,最大值,最小值,總和,平均值,在一行顯示
(7)查詢出武漢地區(qū)的員工人數(shù),總工資,最高工資,最低工資和平均工資
(8)求出工資比平均工資高的人員信息
(9)求數(shù)量,年齡最大值,年齡最小值,年齡總和,年齡平均值,在一行顯示
(10)計(jì)算出月薪在10000 以上的男性員工的最大年齡,最小年齡和平均年齡
(11)統(tǒng)計(jì)出所在地在“武漢或上海”的所有女員工數(shù)量以及最大年齡,最小年齡和平均年齡
(12)求出年齡比平均年齡高的人員信息
GETDATE() 返回當(dāng)前的日期和時(shí)間
DATEPART() 返回日期/時(shí)間的單獨(dú)部分
DATEADD() 返回日期中添加或減去指定的時(shí)間間隔
DATEDIFF() 返回兩個(gè)日期直接的時(shí)間
DATENAME() 返回指定日期的指定日期部分的整數(shù)
CONVERT() 返回不同格式的時(shí)間
示例:
時(shí)間格式控制字符串:
sum函數(shù) sum函數(shù)用于計(jì)算查詢表中指定字段中所有 記錄值的總和。 語(yǔ)法:sum(exp) 說(shuō)明:該函數(shù)不計(jì)算包含Null 值的字段。
例:SELECT SUM(population) FROM bbc 這里的SUM作用在所有返回記錄的 population字段上,結(jié)果就是該查詢只返回 一個(gè)結(jié)果,即所有國(guó)家的總?cè)丝跀?shù)。
newid 無(wú)參數(shù)
返回一個(gè)GUID(全局唯一表示符)值
例如:select newid()
返回:2E6861EF-F4DB-4FFE-86EB-637482FE982J2
isnumeric (任意表達(dá)式)
判斷表達(dá)式是否為數(shù)值類型或者是否可以轉(zhuǎn)換成數(shù)值。
是:返回1,不是:返回0
例如:select isnumeric(1111) 返回 1
select isnumeric('123rr') 返回 0
select isnumeric('123') 返回 1
isnull (任意表達(dá)式1,任意表達(dá)式2)
如果任意表達(dá)式1不為NULL,則返回它的值;否則,在將任意表達(dá)式2的類型轉(zhuǎn)換為任意表達(dá)式1的類型(如果這兩個(gè)類型不同)后,返回任意表達(dá)式2的值。
例如:select isnull(null,N'沒(méi)有值') 返回 沒(méi)有值
select isnull(N'具體的值',N'沒(méi)有值') 返回 具體的值
isdate (任意表達(dá)式)
確定輸入表達(dá)式是否為有效日期或可轉(zhuǎn)成有效的日期;
是:返回1,不是:返回0
例如:select isdate(getdate()) 返回1
select isdate('2013-01-02') 返回1
select isdate('198') 返回0
Sql Server自定義聚合函數(shù)詳細(xì)步驟
開(kāi)始-
輸出-
首先用VS2008/VS2005建立一個(gè)SQL Server項(xiàng)目,右鍵解決方案添加新項(xiàng)
點(diǎn)擊“確定”按鈕后,SQL Server項(xiàng)目會(huì)要求連接一個(gè)數(shù)據(jù)庫(kù),我們可以選擇一個(gè)數(shù)據(jù)庫(kù)
然后在工程中加入一個(gè)聚合類(joinstr.cs),如圖
joinstr.cs中的最終代碼如下:
using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using Microsoft.SqlServer.Server;
using System.Text;
[Serializable]
[SqlUserDefinedAggregate(
Format.UserDefined, //use custom serialization to serialize the intermediate result
IsInvariantToNulls = true, //optimizer property
IsInvariantToDuplicates = false, //optimizer property
IsInvariantToOrder = false, //optimizer property????
MaxByteSize = 8000), //maximum size in bytes of persisted value
]
public struct JoinStr:IBinarySerialize
{
private StringBuilder sbIntermediate;
public void Init()
{
sbIntermediate = new StringBuilder();
}
public void Accumulate(SqlString Value)
{
if (Value == null || Value.ToString().ToLower().Equals("null"))
{
return;
}
else
{
sbIntermediate.Append(Value);
}
}
public void Merge(JionStr Group)
{
sbIntermediate.Append(Group.sbIntermediate);
}
public SqlString Terminate()
{
return new SqlString(sbIntermediate.ToString());
}
// This is a place-holder member field
#region IBinarySerialize Members
public void Read(System.IO.BinaryReader r)
{
sbIntermediate = new StringBuilder(r.ReadString());
}
public void Write(System.IO.BinaryWriter w)
{
w.Write(this.sbIntermediate.ToString());????
}
#endregion
}
在編寫(xiě)完上述代碼后,可以使用Visual Studio來(lái)部署(右向工程,在彈出菜單上選“部署”即可)。
在執(zhí)行上面的SQL語(yǔ)句之前,需要將SQL Server2005的clr功能打開(kāi)
現(xiàn)在可以使用joinstr來(lái)聚合字符串了。
select [t_code_role].[role_mc] as '角色',dbo.JoinStr([t_code_right].[right_mc]+',') as '權(quán)限' from [t_data_roleright],[t_code_right],[t_code_role] where [t_data_roleright].[role_bm]=[t_code_role].[role_bm] and [t_data_roleright].[right_bm]=[t_code_right].[right_bm] group by [t_code_role].[role_mc]
創(chuàng)建自定義函數(shù):
use 數(shù)據(jù)庫(kù)名
go
create function 函數(shù)名
(@pno int)
returns int
as
begin
declare @a int
if not exists(select * from person where pno=@pno)
set @a=-1
else
set @a=1
return @a
end
調(diào)用函數(shù):
use 數(shù)據(jù)庫(kù)名
go
select dbo.函數(shù)名(13250)
1、CONVERT()
函數(shù)
?
1
CONVERT(data_type(length),data_to_be_converted,style)
data_type(length)
規(guī)定目標(biāo)數(shù)據(jù)類型(帶有可選的長(zhǎng)度)。data_to_be_converted
含有需要轉(zhuǎn)換的值。style
規(guī)定日期/時(shí)間的輸出格式。
可以使用的
style
值:點(diǎn)擊打開(kāi)鏈接
2、DATEADD()
函數(shù)
點(diǎn)擊打開(kāi)鏈接
3、CAST()
函數(shù)
?
1
2
Syntax
for
CAST:
CAST
(
expression
AS
data_type
[
(
length
)
]
)
expression
任何有效的表達(dá)式。
data_type
目標(biāo)數(shù)據(jù)類型。
這包括
xml、bigint
和
sql_variant。
不能使用別名數(shù)據(jù)類型。
length
指定目標(biāo)數(shù)據(jù)類型長(zhǎng)度的可選整數(shù)。
默認(rèn)值為
30。
CONVERT()
函數(shù)與CAST()
函數(shù)詳細(xì)信息:點(diǎn)擊打開(kāi)鏈接
標(biāo)題名稱:sqlserver組函數(shù),sqlserver函數(shù)調(diào)用
當(dāng)前路徑:http://chinadenli.net/article29/dseedjh.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、做網(wǎng)站、網(wǎng)站營(yíng)銷、營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站收錄、全網(wǎng)營(yíng)銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)