SQL Server常用函数汇总

聚合函数
若要汇总一定范围的数值,请使用以下函数:

SUM
返回表达式中所有值的总和。

语法

SUM(aggregate)

SUM 只能与包含数值的字段一起使用。将忽略空值。

AVERAGE
返回表达式中所有非空值的平均值(算术平均值)。

语法

AVERAGE(aggregate)

AVERAGE 只能与包含数值的字段一起使用。将忽略空值。

MAX
返回表达式中的最大值。

语法

MAX(aggregate)

对于字符列,MAX 将按排序顺序来查找最大值。将忽略空值。

MIN
返回表达式中的最小值。

语法

MIN(aggregate)

对于字符列,MIN 将按排序顺序来查找最小值。将忽略空值。

COUNT
返回组中非空项的数目。

语法

COUNT(aggregate)

COUNT 始终返回 Int 数据类型值。

COUNTDISTINCT
返回组中某项的非空非重复实例数。

语法

COUNTDISTINCT(aggregate)

STDev
返回某项的非空值的标准偏差。

语法

STDEV(aggregate)

STDevP
返回某项的非空值的总体标准偏差。

语法

STDEVP(aggregate)

VAR
返回某项的非空值的方差。

语法

VAR(aggregate)

VARP
返回某项的非空值的总体方差。

语法

VARP(aggregate)

条件函数
若要测试条件,请使用以下函数:

IF
如果指定了计算结果为 TRUE 的条件,将返回一个值;如果指定了计算结果为 FALSE 的条件,则返回另一个值。

语法

IF(condition, value_if_true, value_if_false)

条件必须是计算结果为 TRUE 或 FALSE 的值或表达式。如果条件为 True,则 Value_if_true 表示返回的值。如果条件为 False,则 Value_if_false 表示返回的值。

IN
确定某项是否是集的成员。

语法

IN(item, set)

Switch
对一系列表达式求值并返回与其中第一个为 True 的表达式相关联的表达式的值。Switch 可以有一个或多个条件/值对。

语法

Switch(condition1, value1)

转换
若要将值从一种数据类型转换为另一种数据类型,请使用以下函数:

INT
将值转换为整数。

语法

INT(value)

DECIMAL
将值转换为十进制数字。

语法

DECIMAL(value)

FLOAT
将值转换为 float 数据类型。

语法

FLOAT(value)

TEXT
将数值转换为文本。

语法

TEXT(value)

日期和时间函数
若要显示日期或时间,请使用以下函数:

DATE
返回给定年、月、日的上午 12:00:00 的日期时间值。

语法

DATE(year, month, day)

DATEONLY
从日期时间值返回年、月和日。

语法

DATEONLY(datetime)

DATETIME
返回给定年、月、日、小时、分钟和秒的日期时间。

语法

DATETIME(year, month, day, hour, minute, second)

YEAR
返回日期时间的年份值。

语法

YEAR(datetime)

QUARTER
返回日期时间的日历季度 (1-4)。

语法

QUARTER(datetime)

MONTH
返回日期时间中的月。

语法

MONTH(datetime)

DAY
从日期时间中提取“日”。

语法

DAY(datetime)

HOUR
从日期时间中提取小时。

语法

HOUR(datetime)

MINUTE
从日期时间中提取分钟。

语法

MINUTE(datetime)

SECOND
从日期时间中提取秒。

语法

SECOND(datetime)

DAYOFYEAR
返回日期时间中一年中的第几天。1 月 1 日 = 1 到 12 月 31 日 = 366(假定是闰年)。

语法

DAYOFYEAR(datetime)

WEEK
返回日历年中该周的数值。

语法

WEEK(datetime)

DAYOFWEEK
返回星期几,从星期一开始。星期一 = 1 到星期日 = 7。

语法

DAYOFWEEK(datetime)

NOW
返回当前日期和时间。

语法

NOW( )

TODAY
返回当前日期。

语法

TODAY( )

DATEDIFF
返回开始日期时间和结束日期时间之间的差。

语法

DATEDIFF(interval, datetime, datetime)

DATEADD
返回将指定数目的时间间隔单位添加到原始日期时间后得到的日期时间。

语法

DATEADD(interval, units, datetime)

CONVERT
将某种数据类型的表达式显式转换为另一种数据类型。由于某些需求经常用到取日期格式的不同.现以下可在
SQL Server中 将日期格式化.

SQL Server 支持使用科威特算法的阿拉伯样式中的数据格式。

在表中,左侧的两列表示将 datetime 或 smalldatetime 转换为字符数据的 style 值。给 style 值加 100,可获得包括世纪数位的四位年份 (yyyy)。

不带世纪数位 (yy) 带世纪数位 (yyyy)
标准
输入/输出**
- 0 或 100 (*) 默认值 mon dd yyyy hh:miAM(或 PM)
1 101 美国 mm/dd/yyyy
2 102 ANSI yy.mm.dd
3 103 英国/法国 dd/mm/yy
4 104 德国 dd.mm.yy
5 105 意大利 dd-mm-yy
6 106 - dd mon yy
7 107 - mon dd, yy
8 108 - hh:mm:ss
- 9 或 109 (*) 默认值 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM(或 PM)
10 110 美国 mm-dd-yy
11 111 日本 yy/mm/dd
12 112 ISO yymmdd
- 13 或 113 (*) 欧洲默认值 + 毫秒 dd mon yyyy hh:mm:ss:mmm(24h)
14 114 - hh:mi:ss:mmm(24h)
- 20 或 120 (*) ODBC 规范 yyyy-mm-dd hh:mm:ss[.fff]
- 21 或 121 (*) ODBC 规范(带毫秒) yyyy-mm-dd hh:mm:ss[.fff]
- 126(***) ISO8601 yyyy-mm-dd Thh:mm:ss:mmm(不含空格)
- 130* 科威特 dd mon yyyy hh:mi:ss:mmmAM
- 131* 科威特 dd/mm/yy hh:mi:ss:mmmAM
 

逻辑函数
若要测试条件的逻辑,请使用以下函数:

AND
如果所有参数都为 TRUE,则返回 TRUE;如果一个或多个参数为 FALSE,则返回 FALSE。

语法

AND(logical, logical)

参数的计算结果必须是逻辑值(例如 TRUE 或 FALSE),或者参数必须是包含逻辑值的数组或引用。如果数组或引用参数包含文本或空单元,则忽略这些值。

OR
如果任一参数为 TRUE,则返回 TRUE;如果所有参数均为 FALSE,则返回 FALSE。

语法

OR(logical, logical)

参数的计算结果必须是逻辑值(例如 TRUE 或 FALSE),或者是包含逻辑值的数组或引用。如果数组或引用包含文本或空单元,则忽略这些值。

NOT
颠倒其参数的值。如果希望确保某子句不等于特定的值,请使用 NOT。

语法

NOT(logical)

如果值为 False,NOT 将返回 True;如果值为 True,NOT 将返回 False。

数学函数
若要进行数值操作,请使用以下函数:

MOD
返回数字除以除数之后的余数。除数不能为 0。

语法

MOD(number, divisor)

TRUNC
按指定的位数截断数字。如果数字为正,则从小数点右侧截断数字。如果数字为负,则从小数点左侧截断数字。

语法

TRUNC(number, digits)

ROUND
将数字舍入到指定的位数。

语法

ROUND(number, digits)

如果位数大于 0(零),则将数字舍入到指定的小数位数。如果位数为 0,则数字舍入到最近的整数。如果数字小于 0,则数字舍入到小数点左侧。

运算符
算术运算符
若要执行基本的数学运算(例如加法、减法或乘法)、组合数字以及生成数值结果,请使用以下运算符:

+ 加
用于将两个或多个项相加。

语法

value + value

- 减
用于从一个项减去另一个项。

语法

value- value

* 乘
用于使项相乘。

语法

value* value

/ 除
用于对项进行除运算。除数不能为 0。

语法

value/divisor

- 求反
更改值的符号。

语法

-value

^ 求幂
用于对值进行幂运算(求幂)。

语法

value^power

比较运算符
若要比较两个值并返回逻辑值 True 或 False,请使用以下运算符:

= 等于
用于使两个值相等。如果 value1 等于 value2,则为 True。

语法

value1= value2

<> 不等于
用于指示两个值不相等。如果 value1 不等于 value2,则为 True。

语法

value1 <> value2

> 大于
用于指示一个值大于另一个值。如果 value1 大于 value2,则为 True。

语法

value1 > value2

>= 大于或等于
用于指示一个值大于或等于另一个值。如果 value1 大于或等于 value2,则为 True。

语法

value1 >= value2

< 小于
用于指示一个值小于另一个值。如果 value1 小于 value2,则为 True。

语法

value1 < value2

<= 小于或等于
用于指示一个值小于或等于另一个值。如果 value1 小于或等于 value2,则为 True。

语法

value1 <= value2

文本函数
若要在报表中进行文本操作,请使用以下函数:

Concat (&)
将两个字符串组合为一个字符串。第二个字符串追加到第一个字符串的末尾。

语法

string & string

Find
第一个字符串实例的位置。

语法

FIND(string, substring)

Left
返回字符串最左侧的一些字符。如果在函数内指定的长度参数值小于零,则这种行为未定义。

语法

LEFT(string, length)

Length
返回字符串中的字符数。

语法

LENGTH(string)

Lower
将字符串从大写字符转换为小写字符。

语法

LOWER(string)

LTrim
返回删除了前导空格的字符串。

语法

LTRIM(string)

Replace
返回一个字符串,其中某个子字符串的所有实例均替换为另一个子字符串。

语法

REPLACE(find, replace, string)

Right
返回字符串最右侧的一些字符。如果在函数内指定的长度参数值小于零,则这种行为未定义。

语法

RIGHT(string, length)

RTrim
返回删除了尾随空格的字符串。

语法

RTRIM(string)

Text
将数值转换为字符串。

语法

TEXT(value)

Substring
返回字符串中的子字符串。如果在函数内指定的长度参数值小于零,则这种行为未定义。

语法

SUBSTRING(string, start, length)

Upper
将字符串从小写字符转换为大写字符。

语法

UPPER(string)

信息函数
若要返回有关用户的全局信息,请使用以下函数:

GetUserID
返回用户用来访问数据的 ID。

语法

GETUSERID()

GetUserCulture
返回用户的语言或区域设置。

Syntax

GETUSERCULTURE()
————————————————
版权声明:本文为CSDN博主「terryzero」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/terryzero/article/details/4122962

猜你喜欢

转载自www.cnblogs.com/xiaohuhu/p/11684350.html