一、系统函数

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. android开发链接

    http://blog.csdn.net/zz2043191420/article/details/47338591

  2. [CF] 219D Choosing Capital for Treeland

    题意翻译 题目描述 Treeland国有n个城市,这n个城市连成了一颗树,有n-1条道路连接了所有城市.每条道路只能单向通行.现在政府需要决定选择哪个城市为首都.假如城市i成为了首都,那么为了使首都能 ...

  3. 3. 对系统表空间使用Raw磁盘分区

    3. 对系统表空间使用Raw磁盘分区 可以将raw磁盘分区用作InnoDB系统表空间中的数据文件.此技术可在Windows和某些Linux和Unix系统上启用非缓冲I/O,而无需文件系统开销.使用和不 ...

  4. 【eclipse】使用说明

    一. 设置jdk版本 1. Window->Preferences->Java->Installed JREs,选择jdk安装目录: 2. Window->Preference ...

  5. python 装饰器(二): 加参数

    接上篇python 闭包&装饰器(一) 一.功能函数加参数:实现一个可以接收任意数据的加法器 源代码如下: def show_time(f): def inner(*x, **y): # 形参 ...

  6. logging日志模块配置

    logging日志模块 日志级别 日志一共分成5个等级,从低到高分别是: 1)DEBUG 2)INFO 3)WARNING 4)ERROR 5)CRITICAL 说明: DEBUG:详细的信息,通常只 ...

  7. 跟初学者学习IbatisNet第一篇

    写在前面的话:我自己也是一个初学者,写这个专题只是为了对学过知识的巩固,如果有什么不对的地方,欢迎大家指正…………………… 第一篇就简单介绍一下什么是IbatisNet,然后写一个简单的Demo,在后 ...

  8. jquery怎么获得ul中li的个数

  9. NYOJ660逃离地球——只为最大存活率~

    逃离地球 时间限制:1000 ms  |  内存限制:65535 KB 难度: 描述 据霍金的<时间简史>所述,在几亿年之后将再次发生宇宙大爆炸.在宇宙大爆炸后,地球上将新生出许多生物而不 ...

  10. PTA 03-树3 Tree Traversals Again (25分)

    题目地址 https://pta.patest.cn/pta/test/16/exam/4/question/667 5-5 Tree Traversals Again   (25分) An inor ...