sql中常用函数.docx
《sql中常用函数.docx》由会员分享,可在线阅读,更多相关《sql中常用函数.docx(13页珍藏版)》请在冰点文库上搜索。
sql中常用函数
条件函数
若要测试条件,请使用以下函数:
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
将某种数据类型的表达式显式转换为另一种数据类型。
由于某些需求经常用到取日期格式的不同.现以下可在
SQLServer中 将日期格式化.
SQLServer支持使用科威特算法的阿拉伯样式中的数据格式。
在表中,左侧的两列表示将datetime或smalldatetime转换为字符数据的style值。
给style值加100,可获得包括世纪数位的四位年份(yyyy)。
不带世纪数位(yy)
带世纪数位(yyyy)
标准
输入/输出**
-
0或100(*)
默认值
monddyyyyhh:
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
-
ddmonyy
7
107
-
mondd,yy
8
108
-
hh:
mm:
ss
-
9或109(*)
默认值+毫秒
monddyyyyhh:
mi:
ss:
mmmAM(或PM)
10
110
美国
mm-dd-yy
11
111
日本
yy/mm/dd
12
112
ISO
yymmdd
-
13或113(*)
欧洲默认值+毫秒
ddmonyyyyhh:
mm:
ss:
mmm(24h)
14
114
-
hh:
mi:
ss:
mmm(24h)
-
20或120(*)
ODBC规范
yyyy-mm-ddhh:
mm:
ss[.fff]
-
21或121(*)
ODBC规范(带毫秒)
yyyy-mm-ddhh:
mm:
ss[.fff]
-
126(***)
ISO8601
yyyy-mm-ddThh:
mm:
ss:
mmm(不含空格)
-
130*
科威特
ddmonyyyyhh:
mi:
ss:
mmmAM
-
131*
科威特
dd/mm/yyhh:
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<=小于或等于
用于指示一个值小于或等于另一个值。
如果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()
聚合函数
若要汇总一定范围的数值,请使用以下函数:
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)
(注:
可编辑下载,若有不当之处,请指正,谢谢!
)