SQL常用函数,整理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一数学函数
1,求绝对值ABS()
2,求指数POWER(x,y);
3,求平方根SQRT()
select FWeight, SQRT(FWeight) from t_person;
4 求随机数
A,mysql RAND()select rand();
B,sqlserver rand() ,rand(x); select rand(), select rand(9527)支持种子
5舍入到最大整数Ceiling()
select FWeight, ceiling(FWeight), ceiling(FWeight * -1) from t_person;
6舍入到最小整数floor()
7,四舍五入round(m,d) m为四舍五入的数值,d为计算精度(特别地d还可以为负值)如36.63精度-1为40
Round(m)为m值0精度
8求正弦值sin(m); select sin(1) from t_person
求余弦值cos(m);
求返正弦值asin(m);
求反余弦acos(m);
9求正切值tan(m) 反正切atan(m)
求余切cotm()
10求圆周率PI();
11.弧度转换为角度degrees(m);角度转换为弧度制radians()
12求符号sign();(符号函数)
13 求整除余数mod(m,d);m为除数d 为被除数(sqlserver中直接用%)14,求自然对数LOG(m);
求10为底得对数LOG10();
二字符串函数
1 计算字符串长度length(m); select length(FName) from t_person
Sqlserver中为len();
2字符串转换为小写Lower(m)
字符串转换为大写UPPER(m)
3截去字符串左侧空格ltrim(m);
截去字符串右侧空白rtrim(m);
截去字符串两侧空白trim(m)
5取子字符串substring(string,start_position,length);
6计算子字符串的位置instr(string, substring);若不存在子字符串则返回0
7从左侧开始取字符串Left(string, length);
从右侧开始取字符串Right(string, length);
8字符串替换replace(string,string_tobe_replace, string_to_replace);
9得到字符的ASCII码ASCII(m)如果参数为字符串则返回第一个字符的Ascii 码
select ASCII('a') from t_person
10得到ascii码数字对应的字符char();
select char(20) from t_person
三日期时间函数
1,取得当前系统时间now();select now();now函数还有sysdate(),current_timestamp等别名select now(), sysdate(),current_timestamp; SQLSERVER 采用getdate()
2 日期增减
Date_add(date,interval expr type);date为待计算的日期,expr为进行加法运算的增量,可以是数值型或者字符串类型,取决与type的取值,DATE_SUB() SQLSERVER :dateadd(datepart, number, date);date为待计算的日期
3计算日期差额
DATEDIFF(date1,date2);
SQLSERVER:datediff(datepart, startdae, edddate);datepart指明计算差额时使用的单位
4计算一个日期是星期几
DAYNAME(date);
SQLSERVER :DATENAME(datepart, date);
5取得日期的指定部分
DATE_FORMAT(date, format)date为计算的日期值,format为格式化字符串SQLSERVER:DATENAME(depart date) DATEPART(depart,date)
四其他函数
1,类型转换
Cast(expression ad type)//符合ANSI SQL 99
Conbert(expression, type)//符合ODBC标准
其中expression为待进行转换的表达式,type为转换的目标类型。SQLSERVER:
Cast(expression ad type)//符合ANSI SQL 99
Conbert(type, expression)//符合ODBC标准.参数位置正好与上面相反
2 空值处理
Coalesce(expression, value1, value2,…,valuen); 第一个参数为带检测的表达式。如果expression不为空值返回expression否则判断后面的值,返回其中第一个不为空的值
// 简化版
:IFNULL(expression,value);
NULLIF(expression1, expression2);如果两个表达式不等价则返回第一个expression的值,如果两个表达式等价则返回第一个类型的空值
4CASE()与流程控制相似
五特有的函数
1,MYSQL
1 If(expr1, expr2,expr3)如果expr1为真则返回expr
2 否则返回expr3
2 conv(N,from_base, to_base)进制转换。将N从from_base转换到to_base进制(范围为2到36)如果to_base是负数,则N被看作是一个有符号数,
3 填充函数
LPAD(str, len, padstr)
RPAD (str, len, padstr)
用字符串padstr的值对str进行左(右)填充到len个字符长度然后返回str,如果str的长度大雨len则将其裁剪到len个字符
4 repeat(str,count)得到重复了count次str的字符串
5字符串颠倒:reverse(string)
select FName, REVERSE(FName) from t_person;
(Tom moT)//执行后结果
6计算集合的最大,最小值,greatest(),least();
7辅助功能函数
Version()//一字符串形式返回mysql服务器版本
User()//返回当前用户名别名system_user(),session_uer();
MD5(string) SHA1(string)计算md5和sha1