||
函数在计算机语言使用中贯穿始终,函数的作用是可以把我们经常使用的代码封装起来,需要的时候调用即可,这样==提高了代码的效率==而且==提高了可维护性==。在SQL中我们也可以使用函数对检索出来的数据进行函数操作,使用这些函数,可以极大的==提高用户对数据库的管理效率==
从函数的定义角度出发,函数可以分成==内置函数==,==自定义函数==
DBMS之间的差异很大,远大于同一个语言不同版本之间的差异。实际上很少的函数被DBMS同时支持的。大部分DBMS会有自己特定的函数,这意味着采用SQL函数的代码可移植性很差,因此在使用函数的时候需要特别注意。
MySQL提供了丰富的内置函数,从实现功能的角度来看可以分为:
函数 | 用法 |
---|---|
ABS(X) | 返回X的绝对值 |
SIGN(X) | 返回X的符号,正数返回1,复数返回-1,0返回0 |
PI() | 返回圆周率的值 |
CEIL(X) | 返回大于或等于某个值的最小整数 |
FLOOR(X) | 返回小于或等于某个值的最大整数 |
LEAST(X1,X2,X3) | 返回列表中的最小值 |
GREATEST(X1,X2,X3) | 返回列表中最大值 |
MOD(X,Y) | 返回X除以Y以后的余数 |
RAND() | 返回0~1的随机值 |
RAND(X) | 返回0~1的随机值,其中X的值作种子值,相同的X值会产生相同的随机数 |
ROUND(X) | 返回一个对X的值进行四舍五入后,最接近于X的整数 |
ROUND(X,Y) | 返回一个对X的值进行四舍五入后最接近X的值,并保留到小数点后面Y位 |
TRUNCATE(X,Y) | 返回数字X截断为Y位小数的结果 |
SQRT(X) | 返回X的平方根,当X的值为负数时,返回NULL |
TRUNCATE(X,Y)函数:返回数字X截断为Y位小数的结果
仅仅只是截断而不是四舍五入
函数 | 功能 |
---|---|
CONCAT(x1,x2,xn...) | 连接x1,x2,xn为一个字符串 |
INSERT(str,x,y,instr) | 将字符串从第X位置开始,Y个字符长的子串替换为字符串instr |
LOWER(str) | 将字符串str中全转为小写 |
UPPER(str) | 将字符串str中全转为大写 |
LEFT(str,x) | 返回字符串str最左边的x个字符 |
RIGHT(str,x) | 返回字符串str最右边的x个字符 |
LPAD(str,n,pad) | 用字符串对左边填充,直到长度为N个字符长度 |
RPAD(str,n,pad) | 用字符串对右边填充,直到长度为N个字符长度 |
LTRIN(str) | 去掉字符串str左边空格 |
RTRIM(str) | 去掉字符串srt右边空格 |
REPEAT(str,x) | 返回str重复x次结果 |
REPLACE(str,a,b) | 用字符串b替换字符串str中出现所有的字符串a |
STRCMP(x1,x2) | 比较字符串x1和x2 |
TRIM(str) | 去掉行尾和行头空格 |
SUBSTRING(str,y) | 返回从字符串str x 位置起y个字符长度的字串 |
函数 | 功能 |
---|---|
CURDATE() | 返回当前日期 |
CURTIME() | 返回当前时间 |
NOW() | 返回当前的日期和时间 |
UNIX_TIMESTAMP(date) | 返回日期date的UNIX时间戳 |
FROM_UNIXTIME | 返回UNIX时间戳的日期值 |
WEEK(date) | 返回日期date为一年中的第几周 |
YEAR(date) | 返回日期date的年份 |
HOUR(time) | 返回time的小时值 |
MINUTE(time) | 返回time的分钟值 |
MONTHNAME(date,fmt) | 返回date的月份名 |
DATE_FORMAT(date,fmt) | 返回按字符串fmt格式化日期date值 |
DATE_ADD(date,INTERVAL expr type) | 返回一个日期或时间值加上一个时间间隔的时间值 |
DATEDIFF(expr,expr2) | 返回起始时间expr和结束时间expr2之间的天数 |
|UNIX_TIMESTAMP(date)|返回日期date的UNIX时间戳|
Unix 时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒
合作电话:010-64087828
社区邮箱:greatsql@greatdb.com