直奔主题!哈哈
一、字符串操作函数
1.ASCII(character)
返回所计算的字符表达式中最左字符的int类型ASCII代码值。
例如:SELECT ASCII('d')
返回:100
2.CHAR(integer)
返回整型代码分配的ASCII字符
例如:SELECT CHAR(100)
返回:d
范围0-255,超出返回空值;CHAR(13)为回车,没有可显示的值。
3.CHARINDEX(expression1, expression2, startlocation)
从expression2的startlocation位置搜索expression1,返回搜索到的位置。startlocation为负数或0表示从开始位置搜索。
70以上版本,当其中一个expression为NULL,就返回NULL,65或更低,要两个expression同时NULL,才返回NULL。
例如:SELECT CHARINDEX('small', 'the very small brown fox', 0)
返回:10
4.DATALENGTH(variable expression)与LEN(variable expression)
返回变量或字段的声明长度。
例如:
DECLARE @aString varchar(10)
SET @aString = 'aaa'
SELECT DATALENGTH(@aString)
返回:10
DECLARE @aString varchar(10)
SET @aString = 'aaa'
SELECT LEN(@aString)
返回:3
5.DIFFERENCE(ex1, ex2)
返回ex1与ex2之间的差异程度,0最大,4最相似。具体请另查。
6.LEFT(string, startindex)
获取string(varchar)中前startindex个字符组成的字符串。
7.LOWER(string)
把string转成小写
8.LTRIM(string)
去除string最左面开始多余的空格符。
9.NCHAR(integer)
返回整型代码代表的Unicode字符,0-65535之间,超出为NULL
10.QUOTENAME(string, quote character)
使用围绕字符串的分割符返回Unicode字符串,如:
SELECT QUOTENAME('PHONE', '[')
返回[PHONE]。' 、"、[、 ]、 {、}都是有效引用字符
11.REPLACE(ex1, ex2, ex3)
在ex1中把所有ex2替换成ex3
12.REPLICATE(char, int)
重复char字符重复int次,如:
REPLICATE('0', 2)
返回00
13.REVERSE(string)
翻转字符串
14.RIGHT(string, int)
获取string(varchar)中右面开始startindex个字符组成的字符串。
15.RTRIM(string)
去除字符串右面多余空格
16.SOUNDEX(string)
SOUNDEX()函数将字母字符串转换成四字符代码,以查找读音相似的单词或名称。可以使用此值,并通过DIFFERENCE()函数将其与另一个别SOUNDEX()函数进行比较。SOUNDEX代码的第一个字符是参数的第一个字符,而代码的第二到第四个字符是数字。参数中的元音会被忽略(除非是第一个字母)。可以嵌套字符串函数。
17.SPACE(int)
返回int个空格字符串,若为Unicode添加空格,请使用前面的REPLICATE()。
18.STR(float ex, length, decimal)
返回从数值数据转换的字符数据,ex必须为带有小数点的近似数值数据类型的表达式,length是返回值的总长度,包括小数,符号数字和空格。decimal为小数个数,会四舍五入。
19.STUFF(ex1, start, length, ex2)
在指定的起点,从字符串ex1中删除指定的字符长度(从start 到 length),并填充另一字符集ex2。
20.SUBSTRING(ex, start, length)
截断字符串ex, 返回从start开始的length个字符。
21.UNICODE(unicode ex)
从字符转成Uincode代码值
22.UPPER(ex)
大写
二、数学函数
ABS(NUMERIC) 绝对值
ACOS(FLOAT) 反余弦,返回弧度
ASIN(FLOAT) 反正弦
ATAN(FLOAT) 反正切
ATN2(FLOAT, FLOAT) 反正切,正切值在两个FLOAT之间
CEILING(NUMERIC) 返回大雨等于给定数值表达式的最小整数
COS(FLOAT) 余弦
COT(FLOAT) 余切
DEGREES(NUMERIC) 弧度转角度
EXP(FLOAT)返回浮点表达式的指数值
FLOOR(NUMERIC) 小于等于给定数值的最大整数
LOG(float) 自然对数
LOG10(float) 返回以10为底的对数
PI() PI..
POWER(NUMERIC) 返回幂值
RADIANS(NUMERIC) 角度转弧度
RAND([seed])返回0到1之间的随机浮点数
ROUND(NUMERIC, LEN) 按指定的长度或精度进行四舍五入
SIGN(NUMERIC) 返回整数(+1)零(0)或负数(-1)
SIN(FLOAT) 正弦
SQRT(FLOAT) 平方根
SQUARE(FLOAT) 平方
TAN(FLOAT) 正切
三、集函数
用于:
SELECT的选择列表
COMPUTE或COMPUTE BY子句
HAVING子句
函数:
AVG 返回组中平均值
CHECKSUM 计算校验和值,用于构建散列索引
CHECKSUM_AGG 返回组中值的校验和。
COUNT 条目数目
COUNT_BIG 条目数目 bigint类型
MAX 求组中最大值
MIN 求组中最小值
SUM 求组中总和
STDEV 所有值的统计标准偏移
STDEVP 所有值的统计填充标准偏移
VAR 所有值的统计差异
VARP 所有值的统计填充差异
四、日期和时间
DATEADD() 为指定日期添加的间隔返回新日期时间值
DATEDIFF() 返回两个日期之间的日期和时间数字差异
DATENAME() 返回表示指定日期特定日期部分的字符串
DATEPART() 日期部分
DAY() 返回日
GETDATE() 获取当前时间
GETUTCDATE() 获取UTC时间
MONTH() 月
YEAR() 年
五、转换函数
CONVERT(date_type, variable, style)
data_type 转换目标
variable 转换变量
style 如果目标数据类型可以使用一种或多种样式更改,就是这个参数控制
data_type 可以是任何SQL SERVER支持的数据类型,如果使用具有长度参数的数据类型,则可以通过包含数据类型长度的小括号来传递长度(nvarchar(20)).
datetime和smalldatetime在转换的时候可以用style参数来控制数据格式。
101 mm/dd/yy
102 yy.mm.dd
103 dd/mm/yy
104 dd.mm.yy
105 dd-mm-yy
106 Dd mon yy
107 Mon dd,yy
108 Hh:mm:ss
109 Mon dd yyyy hh:mi:ss:mmm AM 或 PM
110 mm-dd-yy
111 Yy/mm/dd
112 Yymmdd
113 Dd mm yyy hh:mm:ss:mmm(24)
114 Hh:mi:ss:mmm(24)
120 Yyyy-mm-dd hh:mm:ss
121 mm-dd hh:mi:ss:mmm(24)