sqlserver组函数,sqlserver函数调用

07-SQLSERVER聚合函数

SQL SERVER中聚合函数主要有:

创新互联是专业的密山网站建设公司,密山接单;提供成都网站建设、成都网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行密山网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

(1)求员工总人数

(2)求最大值,求最高工资

(3)求最小时,求最小工资

(4)求和,求所有员工的工资总和

(5)求平均值,求所有员工的平均工资

ROUND函数用法:

(6)求数量,最大值,最小值,总和,平均值,在一行显示

(7)查询出武汉地区的员工人数,总工资,最高工资,最低工资和平均工资

(8)求出工资比平均工资高的人员信息

(9)求数量,年龄最大值,年龄最小值,年龄总和,年龄平均值,在一行显示

(10)计算出月薪在10000 以上的男性员工的最大年龄,最小年龄和平均年龄

(11)统计出所在地在“武汉或上海”的所有女员工数量以及最大年龄,最小年龄和平均年龄

(12)求出年龄比平均年龄高的人员信息

GETDATE() 返回当前的日期和时间

DATEPART() 返回日期/时间的单独部分

DATEADD() 返回日期中添加或减去指定的时间间隔

DATEDIFF() 返回两个日期直接的时间

DATENAME() 返回指定日期的指定日期部分的整数

CONVERT() 返回不同格式的时间

示例:

时间格式控制字符串:

sqlserver映射中可以使用分组函数吗

sum函数 sum函数用于计算查询表中指定字段中所有 记录值的总和。 语法:sum(exp) 说明:该函数不计算包含Null 值的字段。

例:SELECT SUM(population) FROM bbc 这里的SUM作用在所有返回记录的 population字段上,结果就是该查询只返回 一个结果,即所有国家的总人口数。

SqlServer函数的系统函数

newid 无参数

返回一个GUID(全局唯一表示符)值

例如:select newid()

返回:2E6861EF-F4DB-4FFE-86EB-637482FE982J2

isnumeric (任意表达式)

判断表达式是否为数值类型或者是否可以转换成数值。

是:返回1,不是:返回0

例如:select isnumeric(1111) 返回 1

select isnumeric('123rr') 返回 0

select isnumeric('123') 返回 1

isnull (任意表达式1,任意表达式2)

如果任意表达式1不为NULL,则返回它的值;否则,在将任意表达式2的类型转换为任意表达式1的类型(如果这两个类型不同)后,返回任意表达式2的值。

例如:select isnull(null,N'没有值') 返回 没有值

select isnull(N'具体的值',N'没有值') 返回 具体的值

isdate (任意表达式)

确定输入表达式是否为有效日期或可转成有效的日期;

是:返回1,不是:返回0

例如:select isdate(getdate()) 返回1

select isdate('2013-01-02') 返回1

select isdate('198') 返回0

SqlServer如何用Sql语句自定义聚合函数

Sql Server自定义聚合函数详细步骤

开始-

输出-

首先用VS2008/VS2005建立一个SQL Server项目,右键解决方案添加新项

点击“确定”按钮后,SQL Server项目会要求连接一个数据库,我们可以选择一个数据库

然后在工程中加入一个聚合类(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

}

在编写完上述代码后,可以使用Visual Studio来部署(右向工程,在弹出菜单上选“部署”即可)。

在执行上面的SQL语句之前,需要将SQL Server2005的clr功能打开

现在可以使用joinstr来聚合字符串了。

select [t_code_role].[role_mc] as '角色',dbo.JoinStr([t_code_right].[right_mc]+',') as '权限' 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]

SqlServer函数

创建自定义函数:

use 数据库名

go

create function 函数名

(@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

调用函数:

use 数据库名

go

select dbo.函数名(13250)

SqlServer常用函数

1、CONVERT()

函数

?

1

CONVERT(data_type(length),data_to_be_converted,style)

data_type(length)

规定目标数据类型(带有可选的长度)。data_to_be_converted

含有需要转换的值。style

规定日期/时间的输出格式。

可以使用的

style

值:点击打开链接

2、DATEADD()

函数

点击打开链接

3、CAST()

函数

?

1

2

Syntax

for

CAST:

CAST

(

expression

AS

data_type

[

(

length

)

]

)

expression

任何有效的表达式。

data_type

目标数据类型。

这包括

xml、bigint

sql_variant。

不能使用别名数据类型。

length

指定目标数据类型长度的可选整数。

默认值为

30。

CONVERT()

函数与CAST()

函数详细信息:点击打开链接


分享名称:sqlserver组函数,sqlserver函数调用
文章出自:http://abwzjs.com/article/dseedjh.html