一、系统函数

1.聚合函数

聚合函数常用于GROUP BY子句,在SQL Server 2008提供的所有聚合函数中,除了COUNT函数以外,聚合函数都会忽略空值
AVG、COUNT、COUNT_BIG、MAX 、MIN、SUM......

2.数学函数 ABS ROUND FLOOR CEILING......

3.字符串函数 LEFT LEN LOWER LTRIM REPLACE RIGHT......

4.日期和时间函数 DATEADD DATEDIFF  DATENAME DATEPART DAY MONTH YEAR GETDATE

sqlserver日期函数:http://wenku.baidu.com/link?url=wVoEbufUSd06dFyvk6W6AQDjtcjRNY0VzmFJCFLLp6-L8KPyX7ZwG1-muZmoclyDKdL4QhS0WZN7r3EcaHegI7bXELpZA-g5mAjEIpPKAWq

5.其它:

ISNULL :SELECT AVG(ISNULL(Weight, 50))FROM Production.Product
COALESCE:返回其参数中第一个非空表达式 SELECT Name, COALESCE(Class, Color, ProductNumber) AS FirstNotNull FROM Production.Product

二、自定义函数(可在定义returns 类型后可选添加[WITH ENCRYPTION],表明 函数是被加密的,任何人都不能查看该函数的定义)

特点:用户自定义函数则可以出现在一个查询语句的FROM之后

SQL Server 用户定义的函数 与 存储过程 视图的区别:百度文库中的SQL Server 用户定义的函数 与 存储过程 视图的区别

1.标量值函数

create function funTest (@count int)
returns int
as
begin
return @count+100
end
--测试
print dbo.funTest(10)

2.内联表值函数

create function funTest (@id int)
returns table
as
return (select ttt.* from BD_TradeType tty
inner join XH_TodayTradeTable ttt
on tty.TradeTypeId=ttt.TradeTypeId where tty.TradeTypeId=@id
)
--测试
select * from dbo.funTest(1)

3.多语句表值函数

多语句表值函数允许多条语句来创建表的内容。多语句表值函数可以用来替换使用多个步骤来构建结果集的存储过程

CREATE FUNCTION Sales.ufnSalesByCustomerMS (@CustomerID int)
RETURNS @table TABLE
( ProductID int PRIMARY KEY NOT NULL,
ProductName nvarchar(50) NOT NULL,
TotalSales numeric(38,6) NOT NULL,
TotalInventory int NOT NULL )
AS
BEGIN
INSERT INTO @table
SELECT P.ProductID, P.Name, SUM(SD.LineTotal) AS Total, 0
FROM Production.Product AS P
JOIN Sales.SalesOrderDetail SD ON SD.ProductID = P.ProductID
JOIN Sales.SalesOrderHeader SH ON SH.SalesOrderID = SD.SalesOrderID
WHERE SH.CustomerID = @CustomerID
GROUP BY P.ProductID, P.Name;

UPDATE @table
SET TotalInventory = dbo.ufnGetTotalInventoryStock(ProductID);

RETURN;
END;

--测试
SELECT * FROM Sales. ufnSalesByCustomerMS (30052);

sql server 系统常用函数:聚合函数 数学函数 字符串函数 日期和时间函数和自定义函数的更多相关文章

  1. SQL Server系统常用存储过程

    SQL Server系统存储过程也是好几百个,算了,还是写几个常用的. 1.sp_help 查询表的信息 执行存储过程: sp_help Person 显示结果如下: 妈了个B,有了这张图,你还不懂怎 ...

  2. PowerShell让系统可以执行.ps1文件,开机,关机,在线时间 , Function自定义函数

    Function Get-ComputerUptimeHistory { $q=' <QueryList> <Query Id="0" Path="Sy ...

  3. (原)SQL Server 系统提供功能的三个疑惑

    本文目录列表: 1.SQL Server系统提供的部分疑惑概述2.系统函数调用时DEFAULT代替可选参数使用不统一3.队列字段列message_enqueue_time记录的是UTC日期时间 4.@ ...

  4. Sql server 经典常用函数

    ..STUFF()用另一子串替换字符串指定位置.长度的子串.STUFF (<character_expression1>, <start_ position>, <len ...

  5. SQL server 创建 修改表格 及表格基本增删改查 及 高级查询 及 (数学、字符串、日期时间)函数[转]

    SQL server 创建 修改表格 及表格基本增删改查 及 高级查询 及 (数学.字符串.日期时间)函数   --创建表格 create table aa ( UserName varchar(50 ...

  6. SQL Server系统函数简介[转]

    一.字符转换函数1.ASCII()返回字符表达式最左端字符的ASCII 码值.在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错.2.CHAR ...

  7. SQL Server系统函数:系统信息函数

    原文:SQL Server系统函数:系统信息函数 1.会话id,服务器信息.用户信息 select @@SPID, --返回当前连接的会话ID:SPID @@servername, --SQL Ser ...

  8. SQL Server系统函数:字符串函数

    原文:SQL Server系统函数:字符串函数 1.字符转化为ASCII,把ASCII转化为字符,注意返回的值是十进制数 select ASCII('A'),ASCII('B'),ASCII('a') ...

  9. SQL Server系统函数:日期函数

    原文:SQL Server系统函数:日期函数 1.返回当前日期和时间 select GETDATE() '当前日期-精确到33毫秒' select GETUTCDATE() 'UTC日期和时间-精确到 ...

随机推荐

  1. Mysql 一对多关系建立(在navicat中)

    一个孩子只有一个妈妈,而一个妈妈可以有多个孩子,这是典型的一对多的关系,这里采用navicat图形化界面建立二者的关系. 第一步:创建mother表,如下图: 第二步:创建children表,在chi ...

  2. 编码&解码

    编码与解码首先,明确一点,计算机中存储的信息都是二进制的 编码/解码本质上是一种映射(对应关系):比如‘a’用ascii编码则是65,计算机中存储的就是00110101,但是显示的时候不能显示0011 ...

  3. iptables:ipset批量管理ip

    1.安装 安装: yum -y install ipset \apt-get -y install ipset 2.创建一个ipset ipset create whitelist hash:net ...

  4. Mysql 参数优化

  5. python基础知识03-格式化输出和深浅复制

    VIM中HJKL可以上下左右移动光标. 格式化输出和深浅复制 1.字符串的拼接和格式化 sudo pip3 install ipython 安装 ipython 进入 字符串相加 str1 + str ...

  6. CSRF verification failed. Request aborted. 表单提交方法为POST时的报错

    本人所用Django版本为1.11,在设置请求方法为POST时,遇到标题中的错误,尝试了多种方法,最终通过下面的操作来修复: 在template文件中添加图中红框部分 接着,导入csrf_exempt ...

  7. 【笔记】mysql入门语句8条

    1.连接到数据库服务器 mysql -h host -uroot -pXXXX 2.查看所有库 show databases; 3.选库 use 库名 4.查看库下面的表 show tables; 5 ...

  8. sql中Distinct&Count的用法

    Distinct作用:消除重复的数值 1.如: select id from T1 select distinct id from T1 二者的检索效果如下: distinct可以用来修饰多列,如: ...

  9. Java学习之理解递归

    Java支持递归.递归是根据自身定义内容的过程.就Java编程而言,递归是一个允许方法调用自身的特性.调用自身的方法被称为递归.典型的例子就是阶乘的计算,N的阶乘就是从1到N之间所有整数的乘积. 当方 ...

  10. MyBatis使用Mapper动态代理开发Dao层

    开发规范 Mapper接口开发方法只需要程序员编写Mapper接口(相当于Dao接口),由Mybatis框架根据接口定义创建接口的动态代理对象,代理对象的方法体同原始Dao接口实现类方法. Mappe ...