SQL中常用的函数

聚合函数

avg(): 函数返回组中各值的平均数

sum():函数返回组中各值之和

1
select sum(money) from cash

count():函数返回匹配指定条件的行数

count(column_name) 函数返回指定列的值的数目(NULL 不计入)

count(*) 函数返回表中的记录数

count(DISTINCT column_name) 函数返回指定列的不同值的数目

 

查询范围——orders表:

 

O_IdOrderDateOrderPriceCustomer
12008/12/291000Bush
22008/11/231600Carter
32008/10/05700Bush
42008/09/28300Bush
52008/08/062000Adams
62008/07/21100Carter

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
select count(*) N'Bush的订单总数' from orders
where cumstomer = 'Bush'
 
执行结果:3
 
select count(customer) from orders
where OrderPrice >= 1000
 
执行结果:3
 
select count(distinct customer) from orders
where OrderPrice <= 1000
 
执行结果:2

Max():函数返回表达式的最大值

Min():函数返回表达式的最小值

 

 

日期函数

getdate():函数返回当前时间

1
2
3
select getdate()
 
函数返回:2012-04-09 21:29:25.493

datepart(datepart, date):函数返回时间的某一部分

datepart的有效值如下:

datepart缩写
yy, yyyy
季度qq, q
mm, m
年中的日dy, y
dd, d
wk, ww
星期dw, w
小时hh
分钟mi, n
ss, s
毫秒ms
微妙mcs
纳秒ns
1
select datepart(hh,getdate())

dateadd(datepart,number,date):函数在日期中添加或减去指定的时间间隔 date 参数是合法的日期表达式。number 是您希望添加的间隔数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。

1
select dateadd(dd,3,getdate())

datediff(datepart, startdate, enddate):函数返回两个日期之间的天数

1
2
3
select datediff(dd,'2012-4-9','2012-4-10')
 
执行结果:1

Day():函数返回日期的”日”部分month():函数返回日期的”月”部分year():函数返回日期的”年”部分

1
  

数学函数

abs():函数返回绝对值ceiling():函数返回大于等于该数的最小整数floor():函数返回小于等于该数的最大整数rand():函数返回一个0-1之间的随机数round(value,decimals):函数将一个数value舍入精确到小数点后decimals位小数

1
2
3
select round(3.1234,3)
 
执行结果:3.123

字符串函数charindex(expression1, expression2[ , start] )函数返回子串在目标串中最先出现位置的index,expression1为子串,expression2为目标串

1
2
3
select charindex('ab','asdabdd')
 
执行结果:4

left(expression, number):函数返回目标串的左边指定长度的子串

1
2
3
select left('黎明',1)
 
执行结果:黎

right(expression, number):函数返回目标串的右边指定长度的子串

 

ltrim(expression):函数去除字符串左边的空格

rtrim(expression):函数去除字符串右边的空格

1
2
3
4
5
去除字符串两边的空格
 
select ltrim(rtrim('    春哥  '))
 
执行结果:春哥

substring(expression, start, length):函数返回目标串的一个子串,start为起始地址,length为子串的长度

1
2
3
select substring('不管你信不信,反正我信了',4,3)
 
执行结果:信不信

upper():函数将目标串中的所有字符转化为大写字母

lower():函数将目标串中的所有字符转化为小写字母

1
2
3
4
5
select upper('Just Do It')
select lower('Just Do It')
 
执行结果:JUST DO IT
         just do it

其他函数isnull(expression, value): 如果expression是null的话,则返回value值,否则返回expression

1
select isnull(name,N'匿名') 姓名 from T_Persons

newid():创建uniqueindentifer类型的唯一值,常用于生成主键,每次返回的值都不一样

1
2
insert into T_persons(id,name,age)
values(newid(),N'小强',22)

列举了SQL语句中大部分常用函数 Abs(number) 取得数值的绝对值。 Asc(String) 取得字符串表达式的第一个字符ASCII 码。 Atn(number) 取得一个角度的反正切值。 CallByName (object, procname, usecalltype,[args()]) 执行一个对象的方法、设定或传回对象的属性。 CBool(expression) 转换表达式为Boolean 型态。 CByte(expression) 转换表达式为Byte 型态。 CChar(expression) 转换表达式为字符型态。 CDate(expression) 转换表达式为Date 型态。 CDbl(expression) 转换表达式为Double 型态。 CDec(expression) 转换表达式为Decimal 型态。 CInt(expression) 转换表达式为Integer 型态。 CLng(expression) 转换表达式为Long 型态。 CObj(expression) 转换表达式为Object 型态。 CShort(expression) 转换表达式为Short 型态。 CSng(expression) 转换表达式为Single 型态。 CStr(expression) 转换表达式为String 型态。 Choose (index, choice-1[, choice-2, ... [, choice-n]]) 以索引值来选择并传回所设定的参数。 Chr(charcode) 以ASCII 码来取得字符内容。 Close(filenumberlist) 结束使用Open 开启的档案。 Cos(number) 取得一个角度的余弦值。 Ctype(expression, typename) 转换表达式的型态。 DateAdd(dateinterval, number, datetime) 对日期或时间作加减。 DateDiff(dateinterval, date1, date2) 计算两个日期或时间间的差值。 DatePart (dateinterval, date) 依接收的日期或时间参数传回年、月、日或时间。 DateSerial(year, month, day) 将接收的参数合并为一个只有日期的Date 型态的数据。 DateValue(datetime) 取得符合国别设定样式的日期值,并包含时间。 Day(datetime) 依接收的日期参数传回日 ....
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值