一些SQL的常用函数

1,统计函数   avg,   count,   max,   min,   sum  

多数聚会不统计值为null的行。可以与distinct一起使用去掉重复的行。可以与group   by   来分组  

2,   数学函数  

SQRT  
ceiling(n)   返回大于或者等于n的最小整数  
floor(n),   返回小于或者是等于n的最大整数  
round(m,n),   四舍五入,n是保留小数的位数  
abs(n)  
sign(n),   当n> 0,   返回1,n=0,返回0,n <0,   返回-1  
PI(),   3.1415....  
rand(),rand(n),   返回0-1之间的一个随机数  
3,字符串函数  

ascii(),   将字符转换为ASCII码,   ASCII('abc')   =   97  
char(),   ASCII   码   转换为   字符  
low(),upper()  
str(a,b,c)转换数字为字符串。   a,是要转换的字符串。b是转换以后的长度,c是小数位数。str(123.456,8,2)   =   123.46  
ltrim(),   rtrim()   去空格  
left(n),   right(n),   substring(str,   start,length)   截取字符串  
charindex(子串,母串),查找是否包含。   返回第一次出现的位置,没有返回0  
patindex('%pattern%',   expression)   功能同上,可是使用通配符  
replicate('char',   rep_time),   重复字符串  
reverse(char),颠倒字符串  
replace(str,   strold,   strnew)   替换字符串  
space(n),   产生n个空行  
stuff(),   SELECT   STUFF('abcdef',   2,   3,   'ijklmn')   ='aijklmnef',   2是开始位置,3是要从原来串中删除的字符长度,ijlmn是要插入的字符串。  
3,类型转换函数:  

cast,   cast(   expression   as   data_type),   Example:  
SELECT   SUBSTRING(title,   1,   30)   AS   Title,   ytd_sales   FROM   titles   WHERE   CAST(ytd_sales   AS   char(20))   LIKE   '3%'  
convert(data_type,   expression)  
4,日期函数  

day(),   month(),   year()  
dateadd(datepart,   number,   date),   datapart指定对那一部分加,number知道加多少,date指定在谁的基础上加。datepart的取值包括,year,quarter,month,dayofyear,day,week,hour,minute,second,比如明天dateadd(day,1,   getdate())  
datediff(datepart,date1,date2).   datapart和上面一样。整个函数结果是date2   -   date1  
datename(datepart,   date)   取那一部分,返回字符串。  
datepart(datepart,   date)   取一部分,返回整数。  
getdate()当前时间  
5,系统函数  

col_length('tablename','colname')  
col_name,   SELECT   COL_NAME(OBJECT_ID('Employees'),   1)   =   EmployeeID  
datalength,   example:   datalenght('abc')   =3,   datalength(pub_name)   --列名  
db_id    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值