精华内容
下载资源
问答
  • Oracle 数据库的常用函数列表一览
  • sql常用函数大全

    万次阅读 多人点赞 2018-04-09 13:59:52
    转载自:https://blog.csdn.net/mrtwofly/article/details/53939400一、数学函数ABS(x) 返回x的绝对值BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制)CEILING(x) 返回大于x的最小整数值EXP(x) 返回值e...

    转载自:https://blog.csdn.net/mrtwofly/article/details/53939400

    一、数学函数

    ABS(x)   返回x的绝对值
    BIN(x)   返回x的二进制(OCT返回八进制,HEX返回十六进制)
    CEILING(x)   返回大于x的最小整数值
    EXP(x)   返回值e(自然对数的底)的x次方
    FLOOR(x)   返回小于x的最大整数值
    GREATEST(x1,x2,...,xn)返回集合中最大的值
    LEAST(x1,x2,...,xn)      返回集合中最小的值
    LN(x)                    返回x的自然对数
    LOG(x,y)返回x的以y为底的对数
    MOD(x,y)                 返回x/y的模(余数)
    PI()返回pi的值(圆周率)
    RAND()返回0到1内的随机值,可以通过提供一个参数(种子)使RAND()随机数生成器生成一个指定的值。
    ROUND(x,y)返回参数x的四舍五入的有y位小数的值
    SIGN(x) 返回代表数字x的符号的值
    SQRT(x) 返回一个数的平方根
    TRUNCATE(x,y)            返回数字x截短为y位小数的结果

    二、聚合函数(常用于GROUP BY从句的SELECT查询中)
    AVG(col)返回指定列的平均值
    COUNT(col)返回指定列中非NULL值的个数
    MIN(col)返回指定列的最小值
    MAX(col)返回指定列的最大值
    SUM(col)返回指定列的所有值之和
    GROUP_CONCAT(col) 返回由属于一组的列值连接组合而成的结果

    三、字符串函数
    ASCII(char)返回字符的ASCII码值
    BIT_LENGTH(str)返回字符串的比特长度
    CONCAT(s1,s2...,sn)将s1,s2...,sn连接成字符串
    CONCAT_WS(sep,s1,s2...,sn)将s1,s2...,sn连接成字符串,并用sep字符间隔
    INSERT(str,x,y,instr) 将字符串str从第x位置开始,y个字符长的子串替换为字符串instr,返回结果
    FIND_IN_SET(str,list)分析逗号分隔的list列表,如果发现str,返回str在list中的位置
    LCASE(str)或LOWER(str) 返回将字符串str中所有字符改变为小写后的结果
    LEFT(str,x)返回字符串str中最左边的x个字符
    LENGTH(s)返回字符串str中的字符数
    LTRIM(str) 从字符串str中切掉开头的空格
    POSITION(substr,str) 返回子串substr在字符串str中第一次出现的位置
    QUOTE(str) 用反斜杠转义str中的单引号
    REPEAT(str,srchstr,rplcstr)返回字符串str重复x次的结果
    REVERSE(str) 返回颠倒字符串str的结果
    RIGHT(str,x) 返回字符串str中最右边的x个字符
    RTRIM(str) 返回字符串str尾部的空格
    STRCMP(s1,s2)比较字符串s1和s2
    TRIM(str)去除字符串首部和尾部的所有空格
    UCASE(str)或UPPER(str) 返回将字符串str中所有字符转变为大写后的结果

    四、日期和时间函数
    CURDATE()或CURRENT_DATE() 返回当前的日期
    CURTIME()或CURRENT_TIME() 返回当前的时间
    DATE_ADD(date,INTERVAL int keyword)返回日期date加上间隔时间int的结果(int必须按照关键字进行格式化),如:SELECTDATE_ADD(CURRENT_DATE,INTERVAL 6 MONTH);
    DATE_FORMAT(date,fmt)  依照指定的fmt格式格式化日期date值
    DATE_SUB(date,INTERVAL int keyword)返回日期date加上间隔时间int的结果(int必须按照关键字进行格式化),如:SELECTDATE_SUB(CURRENT_DATE,INTERVAL 6 MONTH);
    DAYOFWEEK(date)   返回date所代表的一星期中的第几天(1~7)
    DAYOFMONTH(date)  返回date是一个月的第几天(1~31)
    DAYOFYEAR(date)   返回date是一年的第几天(1~366)
    DAYNAME(date)   返回date的星期名,如:SELECT DAYNAME(CURRENT_DATE);
    FROM_UNIXTIME(ts,fmt)  根据指定的fmt格式,格式化UNIX时间戳ts
    HOUR(time)   返回time的小时值(0~23)
    MINUTE(time)   返回time的分钟值(0~59)
    MONTH(date)   返回date的月份值(1~12)
    MONTHNAME(date)   返回date的月份名,如:SELECT MONTHNAME(CURRENT_DATE);
    NOW()    返回当前的日期和时间
    QUARTER(date)   返回date在一年中的季度(1~4),如SELECT QUARTER(CURRENT_DATE);
    WEEK(date)   返回日期date为一年中第几周(0~53)
    YEAR(date)   返回日期date的年份(1000~9999)
    一些示例:
    获取当前系统时间:SELECT FROM_UNIXTIME(UNIX_TIMESTAMP());
    SELECT EXTRACT(YEAR_MONTH FROM CURRENT_DATE);
    SELECT EXTRACT(DAY_SECOND FROM CURRENT_DATE);
    SELECT EXTRACT(HOUR_MINUTE FROM CURRENT_DATE);
    返回两个日期值之间的差值(月数):SELECT PERIOD_DIFF(200302,199802);
    在Mysql中计算年龄:
    SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(birthday)),'%Y')+0 AS age FROM employee;
    这样,如果Brithday是未来的年月日的话,计算结果为0。
    下面的SQL语句计算员工的绝对年龄,即当Birthday是未来的日期时,将得到负值。
    SELECT DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(birthday, '%Y') -(DATE_FORMAT(NOW(), '00-%m-%d') <DATE_FORMAT(birthday, '00-%m-%d')) AS age from employee

    五、加密函数
    AES_ENCRYPT(str,key)  返回用密钥key对字符串str利用高级加密标准算法加密后的结果,调用AES_ENCRYPT的结果是一个二进制字符串,以BLOB类型存储
    AES_DECRYPT(str,key)  返回用密钥key对字符串str利用高级加密标准算法解密后的结果
    DECODE(str,key)   使用key作为密钥解密加密字符串str
    ENCRYPT(str,salt)   使用UNIXcrypt()函数,用关键词salt(一个可以惟一确定口令的字符串,就像钥匙一样)加密字符串str
    ENCODE(str,key)   使用key作为密钥加密字符串str,调用ENCODE()的结果是一个二进制字符串,它以BLOB类型存储
    MD5()    计算字符串str的MD5校验和
    PASSWORD(str)   返回字符串str的加密版本,这个加密过程是不可逆转的,和UNIX密码加密过程使用不同的算法。
    SHA()    计算字符串str的安全散列算法(SHA)校验和
    示例:
    SELECT ENCRYPT('root','salt');
    SELECT ENCODE('xufeng','key');
    SELECT DECODE(ENCODE('xufeng','key'),'key');#加解密放在一起
    SELECT AES_ENCRYPT('root','key');
    SELECT AES_DECRYPT(AES_ENCRYPT('root','key'),'key');
    SELECT MD5('123456');
    SELECT SHA('123456');

    六、控制流函数
    MySQL有4个函数是用来进行条件操作的,这些函数可以实现SQL的条件逻辑,允许开发者将一些应用程序业务逻辑转换到数据库后台。
    MySQL控制流函数:
    CASE WHEN[test1] THEN [result1]...ELSE [default] END如果testN是真,则返回resultN,否则返回default
    CASE [test] WHEN[val1] THEN [result]...ELSE [default]END  如果test和valN相等,则返回resultN,否则返回default
    IF(test,t,f)   如果test是真,返回t;否则返回f
    IFNULL(arg1,arg2) 如果arg1不是空,返回arg1,否则返回arg2
    NULLIF(arg1,arg2) 如果arg1=arg2返回NULL;否则返回arg1
    这些函数的第一个是IFNULL(),它有两个参数,并且对第一个参数进行判断。如果第一个参数不是NULL,函数就会向调用者返回第一个参数;如果是NULL,将返回第二个参数。
    如:SELECT IFNULL(1,2), IFNULL(NULL,10),IFNULL(4*NULL,'false');
    NULLIF()函数将会检验提供的两个参数是否相等,如果相等,则返回NULL,如果不相等,就返回第一个参数。
    如:SELECT NULLIF(1,1),NULLIF('A','B'),NULLIF(2+3,4+1);
    和许多脚本语言提供的IF()函数一样,MySQL的IF()函数也可以建立一个简单的条件测试,这个函数有三个参数,第一个是要被判断的表达式,如果表达式为真,IF()将会返回第二个参数,如果为假,IF()将会返回第三个参数。
    如:SELECTIF(1<10,2,3),IF(56>100,'true','false');
    IF()函数在只有两种可能结果时才适合使用。然而,在现实世界中,我们可能发现在条件测试中会需要多个分支。在这种情况下,MySQL提供了CASE函数,它和PHP及Perl语言的switch-case条件例程一样。
    CASE函数的格式有些复杂,通常如下所示:
    CASE [expression to be evaluated]
    WHEN [val 1] THEN [result 1]
    WHEN [val 2] THEN [result 2]
    WHEN [val 3] THEN [result 3]
    ......
    WHEN [val n] THEN [result n]
    ELSE [default result]
    END
    这里,第一个参数是要被判断的值或表达式,接下来的是一系列的WHEN-THEN块,每一块的第一个参数指定要比较的值,如果为真,就返回结果。所有的WHEN-THEN块将以ELSE块结束,当END结束了所有外部的CASE块时,如果前面的每一个块都不匹配就会返回ELSE块指定的默认结果。如果没有指定ELSE块,而且所有的WHEN-THEN比较都不是真,MySQL将会返回NULL。
    CASE函数还有另外一种句法,有时使用起来非常方便,如下:
    CASE
    WHEN [conditional test 1] THEN [result 1]
    WHEN [conditional test 2] THEN [result 2]
    ELSE [default result]
    END
    这种条件下,返回的结果取决于相应的条件测试是否为真。
    示例:
    mysql>SELECT CASE 'green'
         WHEN 'red' THEN 'stop'
         WHEN 'green' THEN 'go' END;
    SELECT CASE 9 WHEN 1 THEN 'a' WHEN 2 THEN 'b' ELSE 'N/A' END;
    SELECT CASE WHEN (2+2)=4 THEN 'OK' WHEN(2+2)<>4 THEN 'not OK' END ASSTATUS;
    SELECT Name,IF((IsActive = 1),'已激活','未激活') AS RESULT FROMUserLoginInfo;
    SELECT fname,lname,(math+sci+lit) AS total,
    CASE WHEN (math+sci+lit) < 50 THEN 'D'
    WHEN (math+sci+lit) BETWEEN 50 AND 150 THEN 'C'
    WHEN (math+sci+lit) BETWEEN 151 AND 250 THEN 'B'
    ELSE 'A' END
    AS grade FROM marks;
    SELECT IF(ENCRYPT('sue','ts')=upass,'allow','deny') AS LoginResultFROM users WHERE uname = 'sue';#一个登陆验证

    七、格式化函数
    DATE_FORMAT(date,fmt)  依照字符串fmt格式化日期date值
    FORMAT(x,y)   把x格式化为以逗号隔开的数字序列,y是结果的小数位数
    INET_ATON(ip)   返回IP地址的数字表示
    INET_NTOA(num)   返回数字所代表的IP地址
    TIME_FORMAT(time,fmt)  依照字符串fmt格式化时间time值
    其中最简单的是FORMAT()函数,它可以把大的数值格式化为以逗号间隔的易读的序列。
    示例:
    SELECT FORMAT(34234.34323432,3);
    SELECT DATE_FORMAT(NOW(),'%W,%D %M %Y %r');
    SELECT DATE_FORMAT(NOW(),'%Y-%m-%d');
    SELECT DATE_FORMAT(19990330,'%Y-%m-%d');
    SELECT DATE_FORMAT(NOW(),'%h:%i %p');
    SELECT INET_ATON('10.122.89.47');
    SELECT INET_NTOA(175790383);

    八、类型转化函数
    为了进行数据类型转化,MySQL提供了CAST()函数,它可以把一个值转化为指定的数据类型。类型有:BINARY,CHAR,DATE,TIME,DATETIME,SIGNED,UNSIGNED
    示例:
    SELECT CAST(NOW() AS SIGNED INTEGER),CURDATE()+0;
    SELECT 'f'=BINARY 'F','f'=CAST('F' AS BINARY);

    九、系统信息函数
    DATABASE()   返回当前数据库名
    BENCHMARK(count,expr)  将表达式expr重复运行count次
    CONNECTION_ID()   返回当前客户的连接ID
    FOUND_ROWS()   返回最后一个SELECT查询进行检索的总行数
    USER()或SYSTEM_USER()  返回当前登陆用户名
    VERSION()   返回MySQL服务器的版本
    示例:
    SELECT DATABASE(),VERSION(),USER();

    SELECTBENCHMARK(9999999,LOG(RAND()*PI()));#该例中,MySQL计算LOG(RAND()*PI())表达式9999999次。

    展开全文
  • oracle常用函数详解(详细汇总)

    千次阅读 多人点赞 2019-06-19 11:59:59
    oracle ...单行函数:操作一行数据,返回一个结果常用的单行函数有:字符串函数:对字符串操作。数字函数:对数字进行计算,返回一个数字。日期函数:对日期和时间进行处理。转换函数:可以...
    oracle   数据库 中主要使用两种类型的函数:

    1.  单行函数:操作一行数据,返回一个结果

    常用的单行函数有:

    • 字符串函数:对字符串操作。
    • 数字函数:对数字进行计算,返回一个数字。
    • 日期函数:对日期和时间进行处理。
    • 转换函数:可以将一种数据类型转换为另外一种数据类型。

    2.  聚合函数(多行函数、分组函数、组函数):操作多行数据,并返回一个结果。比如 SUM

    一、字符串函数

    字符函数接受字符参数,这些参数可以是表中的列,也可以是一个字符串表达式。

    常用的字符函数:

    函数

    说明

    ASCII(X)

    返回字符X的ASCII码

    CONCAT(X,Y)

    连接字符串X和Y

    INSTR(X,STR[,START][,N)

    从X中查找str,可以指定从start开始,也可以指定从n开始

    LENGTH(X)

    返回X的长度

    LOWER(X)

    X转换成小写

    UPPER(X)

    X转换成大写

    LTRIM(X[,TRIM_STR])

    把X的左边截去trim_str字符串,缺省截去空格

    RTRIM(X[,TRIM_STR])

    把X的右边截去trim_str字符串,缺省截去空格

    TRIM([TRIM_STR  FROM]X)

    把X的两边截去trim_str字符串,缺省截去空格

    REPLACE(X,old,new)

    在X中查找old,并替换成new

    SUBSTR(X,start[,length])

    返回X的字串,从start处开始,截取length个字符,缺省length,默认到结尾

    上面各函数的例子:

    示例

    示例结果

    SELECT ASCII('a') FROM dual;

    97

    SELECT CONCAT('Hello','world') FROM dual;

    Helloworld

    SELECT INSTR('Hello world','or') FROM dual;

    8

    SELECT LENGTH('Hello') FROM dual;

    5

    SELECT LOWER('Hello') FROM dual;

    hello

    SELECT UPPER('hello') FROM dual;

    HELLO

    SELECT LTRIM('=Hello=','=') FROM dual;

    Hello=

    SELECT RTRIM('=Hello=','=') FROM dual;

    =Hello

    SELECT TRIM('='FROM'=Hello=') FROM dual;

    Hello

    SELECT REPLACE('ABCDE','CD','AAA')FROM dual;

    ABAAAE

    SELECT SUBSTR('ABCDE',2,3) FROM dual;

    BCD

    二、数字函数

    数字函数接受数字参数,参数可以来自表中的一列,也可以是一个数字表达式。

    函数

    说明

    示例

    ABS(X)

    X的绝对值

    ABS(-3)=3

    ACOS(X)

    X的反余弦

    ACOS(1)=0

    COS(X)

    余弦

    COS(1)=0.54030230586814

    CEIL(X)

    大于或等于X的最小值

    CEIL(5.4)=6

    FLOOR(X)

    小于或等于X的最大值

    FLOOR(5.8)=5

    LOG(X,Y)

    X为底Y的对数

    LOG(2,4)=2

    MOD(X,Y)

    X除以Y的余数

    MOD(8,3)=2

    POWER(X,Y)

    X的Y次幂

    POWER(2,3)=8

    ROUND(X[,Y])

    X在第Y位四舍五入

    ROUND(3.456,2)=3.46

    SQRT(X)

    X的平方根

    SQRT(4)=2

    TRUNC(X[,Y])

    X在第Y位截断

    TRUNC(3.456,2)=3.45

    说明:

    1.  ROUND(X[,Y]),四舍五入。

    在缺省 y 时,默认 y=0;比如:ROUND(3.56)=4。

    y 是正整数,就是四舍五入到小数点后 y 位。ROUND(5.654,2)=5.65。

    y 是负整数,四舍五入到小数点左边|y|位。ROUND(351.654,-2)=400。

    2.  TRUNC(x[,y]),直接截取,不四舍五入。

    在缺省 y 时,默认 y=0;比如:TRUNC (3.56)=3。

    Y是正整数,就是四舍五入到小数点后 y 位。TRUNC (5.654,2)=5.65。

    y 是负整数,四舍五入到小数点左边|y|位。TRUNC (351.654,-2)=300。

    三、日期函数

    日期函数对日期进行运算。常用的日期函数有:

    1、ADD_MONTHS(d,n),在某一个日期 d 上,加上指定的月数 n,返回计算后的新日期。

    d 表示日期,n 表示要加的月数。

    例:SELECT SYSDATE,add_months(SYSDATE,5) FROM dual;

     

    2、LAST_DAY(d),返回指定日期当月的最后一天。

    例:SELECT SYSDATE,last_day(SYSDATE) FROM dual;

     

    3、ROUND(d[,fmt]),返回一个以 fmt 为格式的四舍五入日期值, d 是日期, fmt 是格式

    模型。默认 fmt 为 DDD,即月中的某一天。

    Ø  ① 如果 fmt 为“YEAR”则舍入到某年的 1 月 1 日,即前半年舍去,后半年作为下一年。

    Ø  ② 如果 fmt 为“MONTH”则舍入到某月的 1 日,即前月舍去,后半月作为下一月。

    Ø  ③ 默认为“DDD”,即月中的某一天,最靠近的天,前半天舍去,后半天作为第二天。

    Ø  ④ 如果 fmt 为“DAY”则舍入到最近的周的周日,即上半周舍去,下半周作为下一周周日。

    例:SELECT SYSDATE,ROUND(SYSDATE),ROUND(SYSDATE,'day'),

    ROUND(SYSDATE,'month'),ROUND(SYSDATE,'year') FROM dual;

     

    与 ROUND 对应的函数时 TRUNC(d[,fmt])对日期的操作, TRUNC 与 ROUND 非常相似,只是不对日期进行舍入,直接截取到对应格式的第一天。

    4、EXTRACT(fmt FROM d),提取日期中的特定部分。

    fmt 为:YEAR、MONTH、DAY、HOUR、MINUTE、SECOND。其中 YEAR、MONTH、DAY可以为 DATE 类型匹配,也可以与 TIMESTAMP 类型匹配;但是 HOUR、MINUTE、SECOND 必须与 TIMESTAMP 类型匹配。

    HOUR 匹配的结果中没有加上时区,因此在中国运行的结果小 8 小时。

    例:SELECT SYSDATE "date",

           EXTRACT(YEAR FROM SYSDATE)"year",

           EXTRACT(MONTH FROM SYSDATE)"month",

           EXTRACT(DAY FROM SYSDATE)"day",

           EXTRACT(HOUR FROM SYSTIMESTAMP)"hour",

           EXTRACT(MINUTE FROM SYSTIMESTAMP)"minute",

           EXTRACT(SECOND FROM SYSTIMESTAMP)"second"

    FROM dual;

     

    四、转换函数

    转换函数将值从一种数据类型转换为另外一种数据类型。常见的转换函数有:

    1、TO_CHAR(d|n[,fmt])

    把日期和数字转换为制定格式的字符串。Fmt是格式化字符串

    代码演示:TO_CHAR对日期的处理

    SELECT TO_CHAR(SYSDATE,'YYYY"年"MM"月"DD"日" HH24:MI:SS')"date" FROM dual;

     

    代码解析:

    在格式化字符串中,使用双引号对非格式化字符进行引用

    针对数字的格式化,格式化字符有:

    参数

    示例

    说明

    9

    999

    指定位置处显示数字

    .

    9.9

    指定位置返回小数点

    ,

    99,99

    指定位置返回一个逗号

    $

    $999

    数字开头返回一个美元符号

    EEEE

    9.99EEEE

    科学计数法表示

    L

    L999

    数字前加一个本地货币符号

    PR

    999PR

    如果数字式负数则用尖括号进行表示

    代码演示:TO_CHAR对数字的处理

    SELECT TO_CHAR(-123123.45,'L9.9EEEEPR')"date" FROM dual;

     

    2、TO_DATE(X,[,fmt])

    把一个字符串以fmt格式转换成一个日期类型

    3、TO_NUMBER(X,[,fmt])

    把一个字符串以fmt格式转换为一个数字

    代码演示:TO_NUM函数

    SELECT TO_NUMBER('-$12,345.67','$99,999.99')"num" FROM dual;

     

    五、其它单行函数

    1、NVL(X,VALUE)

    如果X为空,返回value,否则返回X

    例:对工资是2000元以下的员工,如果没发奖金,每人奖金100元

    代码演示:NVL函数

    SQL> SELECT ENAME,JOB,SAL,NVL(COMM,100) FROM EMP WHERE SAL<2000;

    -------------------------------------------------------------------

    ENAME    JOB    SAL    NVL(COMM,100) 

    SMITH    CLERK    800    100 

    ALLEN    SALESMAN    1600    300 

    WARD    SALESMAN    1250    500 

    MARTIN    SALESMAN    1250    1400 

    TURNER    SALESMAN    1500    50 

    ADAMS    CLERK    1100    100 

    JAMES    CLERK    950    100 

    -------------------------------------------------------------------

    7 rows selected

    2、NVL2(x,value1,value2)

    如果x非空,返回value1,否则返回value2

    例:对EMP表中工资为2000元以下的员工,如果没有奖金,则奖金为200元,如果有奖金,则在原来的奖金基础上加100元

    代码演示:NVL2函数

    SQL> SELECT ENAME,JOB,SAL,NVL2(COMM,comm+100,200) "comm"

    2   FROM EMP WHERE SAL<2000;

    -------------------------------------------------------------------

    ENAME    JOB    SAL    comm 

    SMITH    CLERK    800    200 

    ALLEN    SALESMAN    1600    400 

    WARD    SALESMAN    1250    600 

    MARTIN    SALESMAN    1250    1500 

    TURNER    SALESMAN    1500    150 

    ADAMS    CLERK    1100    200 

    JAMES    CLERK    950    200 

    MILLER    CLERK    1300    200

    -------------------------------------------------------------------------------------------------------

    8 rows selected

    六、聚合函数

    聚合函数同时对一组数据进行操作,返回一行结果,比如计算一组数据的总和,平均值

    等。

    名称

    作用

    语法

    AVG

    平均值

    AVG(表达式)

    SUM

    求和

    SUM(表达式)

    MIN、MAX

    最小值、最大值

    MIN(表达式)、MAX(表达式)

    COUNT

    数据统计

    COUNT(表达式)

     

    例:求本月所有员工的基本工资总和

    代码演示:sum函数

    SQL> SELECT SUM(sal) FROM emp;

    -------------------------------------------------------------------

    SUM(SAL)

    29025

    例:求不同部门的平均工资

    代码演示:AVG函数下的分组查询

    SQL> SELECT DEPTNO,AVG(SAL) FROM EMP GROUP BY DEPTNO;  

    -------------------------------------------------------------------

    DEPTNO    AVG(SAL)

    ---------    ----------

    30    1566.66666

    20     2175

    10    2916.66666

    展开全文
  • MySQL数据库常用函数参考-大全

    千次阅读 2018-07-11 10:32:31
    数学函数 abs(x) 返回x的绝对值 bin(x) 返回x的二进制(oct返回八进制,hex返回十六进制) ceiling(x) 返回大于x的最小整数值,取顶 exp(x) 返回值e(自然对数的底)的x次方 floor(x) ...
    1. 数学函数
      abs(x)返回x的绝对值
      bin(x)返回x的二进制(oct返回八进制,hex返回十六进制)
      ceiling(x)返回大于x的最小整数值,取顶
      exp(x)返回值e(自然对数的底)的x次方
      floor(x)返回小于x的最大整数值,取底
      greatest(x1,x2,...,xn)返回集合中最大的值
      least(x1,x2,...,xn)返回集合中最小的值
      ln(x)返回x的自然对数
      log(x,y)返回x的以y为底的对数
      mod(x,y)返回x/y的模(余数)
      pi()返回pi的值(圆周率)
      rand()返回0到1内的随机值,可以通过提供一个参数(种子)使rand()随机数生成器生成一个指定的值。
      round(x,y)返回参数x的四舍五入的有y位小数的值
      sign(x)返回代表数字x的符号的值
      sqrt(x)返回一个数的平方根
      truncate(x,y)返回数字x截短为y位小数的结果
    2. 聚合函数(常用于group by从句的select查询中)
      avg(col)返回指定列的平均值,排除为null的值
      count(col)返回指定列中非null值的个数,排除为null的值
      min(col)返回指定列的最小值,排除为null的值
      max(col)返回指定列的最大值,排除为null的值
      sum(col)返回指定列的所有值之和,排除为null的值
      group_concat(col)返回属于一组的列值连接组合而成的结果,排除为null的值
    3. 字符串函数
      ascii(char)返回字符的ascii码值
      bit_length(str)返回字符串的比特长度
      concat(s1,s2...,sn)将s1,s2...,sn连接成字符串
      concat_ws(sep,s1,s2...,sn)将s1,s2...,sn连接成字符串,并用sep字符间隔
      insert(str,x,y,instr)将字符串str从第x位置开始,y个字符长的子串替换为字符串instr,返回结果。x从1开始算
      find_in_set(str,list)分析逗号分隔的list列表,如果发现str,返回str在list中的位置
      lcase(str)或lower(str)返回将字符串str中所有字符改变为小写后的结果
      ucase(str)或upper(str)返回将字符串str中所有字符转变为大写后的结果
      left(str,x)返回字符串str中最左边的x个字符
      length(s)返回字符串str中的字符数
      ltrim(str)从字符串str中切掉开头的空格
      position(substr,str)返回子串substr在字符串str中第一次出现的位置
      quote(str)用反斜杠转义str中的单引号
      repeat(str, x)返回字符串str重复x次的结果
      reverse(str)返回颠倒字符串str的结果
      right(str,x)返回字符串str中最右边的x个字符
      rtrim(str)返回字符串str尾部的空格
      strcmp(s1,s2)比较字符串s1和s2,相同返回0,不同返回1
      trim(str)去除字符串首部和尾部的所有空格
    4. 日期和时间函数
      curdate()或current_date()返回当前的日期
      curtime()或current_time()返回当前的时间
      date_add(date,interval int keyword)返回日期date加上间隔时间int的结果(int必须按照关键字进行格式化),如:select date_add(current_date,interval 6 month);
      date_format(date,fmt)依照指定的fmt格式格式化日期date值
      date_sub(date,interval int keyword)返回日期date减去间隔时间int的结果(int必须按照关键字进行格式化),如:select date_sub(current_date,interval 6 month);
      dayofweek(date)返回date所代表的一星期中的第几天(1~7)
      dayofmonth(date)返回date是一个月的第几天(1~31)
      dayofyear(date)返回date是一年的第几天(1~366)
      dayname(date)返回date的星期名,英文名,如:select dayname(current_date)
      from_unixtime(ts,fmt)根据指定的fmt格式,格式化unix时间戳ts
      hour(time)返回time的小时值(0~23)
      minute(time)返回time的分钟值(0~59)
      month(date)返回date的月份值(1~12)
      monthname(date)返回date的月份名,英文名,如:select monthname(current_date)
      now()返回当前的日期和时间
      quarter(date)返回date在一年中的季度(1~4),如select quarter(current_date)
      week(date)返回日期date为一年中第几周(0~53)
      year(date)返回日期date的年份(1000~9999)
      获取当前系统时间:
      select from_unixtime(unix_timestamp());
      select extract(year_month from current_date);
      select extract(day_second from current_date);
      select extract(hour_minute from current_date);
      返回两个日期值之间的差值(月数):select period_diff(200302,199802);
      在mysql中计算年龄:
      select date_format(from_days(to_days(now())-to_days(birthday)),'%y')+0 as age from employee;
      这样,如果brithday是未来的年月日的话,计算结果为0。
      下面的sql语句计算员工的绝对年龄,即当birthday是未来的日期时,将得到负值。
      select date_format(now(), '%y') - date_format(birthday, '%y') -(date_format(now(), '00-%m-%d') <date_format(birthday, '00-%m-%d')) as age from employee
    5. 根据经纬度来求距离
      ROUND(
        6378.138 * 2 * ASIN(
        SQRT(
      	  POW(
      		  SIN(
      		  (
      		  #{lat} * PI() / 180 - lat * PI() / 180
      		  ) / 2
      		  ),
      		  2
      	  ) + COS(#{lat} * PI() / 180) * COS(lat * PI() / 180) * POW(
      		  SIN(
      		  (
      		  #{lng} * PI() / 180 - lng * PI() / 180
      		  ) / 2
      		  ),
      		  2
      	  )
        )
        )
      )

       

    展开全文
  • MySQL常用函数大全(总结篇)

    万次阅读 多人点赞 2019-02-19 14:08:33
    本篇文章讲解是是MySQL的函数方法,涵盖所有的MySQL常见的方法。下面是本篇文章的目录结构,可以根据自己需求划到相应段落查找: 一、数字函数 二、字符串函数 三、日期函数 四、MySQL高级函数 (一)数字函数 1、...

    本篇文章讲解是是MySQL的函数方法,涵盖所有的MySQL常见的方法。下面是本篇文章的目录结构,可以根据自己需求点击右方目录查找:

    • 一、数字函数
    • 二、字符串函数
    • 三、日期函数
    • 四、MySQL高级函数

    (一)数字函数

    1、ABS(x) 返回x的绝对值

    SELECT ABS(-1);
    ---- 返回1
    

    2、AVG(expression) 返回一个表达式的平均值,expression 是一个字段
    在这里插入图片描述

    SELECT AVG(age) FROM student;
    

    在这里插入图片描述

    3、CEIL(x)/CEILING(x) 返回大于或等于 x 的最小整数

    SELECT CEIL(1.5);
    SELECT CEILING(1.5);   
    ---- 返回2
    

    4、FLOOR(x) 返回小于或等于 x 的最大整数

    SELECT FLOOR(1.5); 
    ---- 返回1
    

    5、EXP(x) 返回 e 的 x 次方

    SELECT EXP(3);
    ---- 计算 e 的三次方,返回20.085536923188
    

    6、GREATEST(expr1, expr2, expr3, …) 返回列表中的最大值

    SELECT GREATEST(3, 12, 34, 8, 25);
    ---- 返回以下数字列表中的最大值34
    

    7、LEAST(expr1, expr2, expr3, …) 返回列表中的最小值

    SELECT LEAST(3, 12, 34, 8, 25);
    ---- 返回以下数字列表中的最小值3
    

    8、LN 返回数字的自然对数

    SELECT LN(2);
    ---- 返回 2 的自然对数:0.6931471805599453
    

    9、LOG(x) 返回自然对数(以 e 为底的对数)

    SELECT LOG(20.085536923188);
    ---- 返回 3
    

    10、MAX(expression)返回字段 expression 中的最大值

    SELECT MAX(age) AS maxAge FROM Student;
    ---- age最大值
    

    11、MIN(expression)返回字段 expression 中的最大值

    SELECT MIN(age) AS minAge FROM Student;
    ---- age最小值
    

    12、POW(x,y)/POWER(x,y)返回 x 的 y 次方

    SELECT POW(2,3);
    SELECT POWER(2,3);
    ---- 返回2 的 3 次方:8
    

    13、RAND()返回 0 到 1 的随机数

    SELECT RAND();
    ---- 返回 0 到 1 的随机数,若()里面有数字,RAND(x),x相同时,返回值相同
    

    14、ROUND(x)返回离 x 最近的整数

    SELECT ROUND(1.23456);
    ---- 返回 1
    

    15、SIGN(x)返回 x 的符号,x 是负数、0、正数分别返回 -1、0 和 1

    SELECT SIGN(-10);
    ---- 返回 -1
    

    16、SQRT(x)返回x的平方根

    SELECT SQRT(25);
    ---- 返回5
    

    17、SUM(expression)返回指定字段的总和

    SELECT SUM(age) AS totalAage FROM Student;
    ---- 返回age的总和
    

    18、TRUNCATE(x,y)返回数值 x 保留到小数点后 y 位的值(与 ROUND 最大的区别是不会进行四舍五入)

    SELECT TRUNCATE(1.23456,3);
    ---- 返回1.234
    

    (二)字符串函数

    1、返回字符串 s 的第一个字符的 ASCII 码

    SELECT ASCII('AB');
    ---- 返回A的ASCII码值:65
    

    2、LENGTH/CHAR_LENGTH(s)/CHARACTER_LENGTH(s)返回字符串 s 的字符数

    SELECT LENGTH('1234');
    ---- 返回4
    

    3、CONCAT(s1,s2…sn)字符串 s1,s2 等多个字符串合并为一个字符串

    SELECT CONCAT('hel','llo');
    ---- 返回hello
    

    4、FIND_IN_SET(s1,s2)返回在字符串s2中与s1匹配的字符串的位置

    SELECT FIND_IN_SET("c", "a,b,c,d,e");
    ---- 返回3
    

    5、FORMAT(x,n)函数可以将数字 x 进行格式化 “#,###.##”, 将 x 保留到小数点后 n 位,最后一位四舍五入

    SELECT FORMAT(250500.5634, 2); 
    ---- 返回250,500.56
    

    6、INSERT(s1,x,len,s2)字符串 s2 替换 s1 的 x 位置开始长度为 len 的字符串

    SELECT INSERT("google.com", 1, 6, "runnob");
    ---- 返回runoob.com
    

    7、LOCATE(s1,s)从字符串 s 中获取 s1 的开始位置

    SELECT LOCATE('st','myteststring');
    ---- 返回5
    

    8、LCASE(s)/LOWER(s)将字符串 s 的所有字母变成小写字母

    SELECT LOWER('RUNOOB');
    ---- 返回runoob
    

    9、UCASE(s)/UPPER(s)将字符串 s 的所有字母变成大写字母

    SELECT UCASE('runoob');
    ---- 返回RUNOOB
    

    10、TRIM(s)去掉字符串 s 开始和结尾处的空格

    SELECT TRIM('    RUNOOB    ');
    ---- 返回RUNOOB
    

    11、LTRIM(s)去掉字符串 s 开始处的空格

    SELECT LTRIM('    RUNOOB    ');
    ---- 返回 ’RUNOOB   ‘
    

    12、RTRIM(s)去掉字符串 s 结尾处的空格

    SELECT RTRIM('    RUNOOB    ');
    ---- 返回 ’    RUNOOB‘
    

    13、SUBSTR(s, start, length)从字符串 s 的 start 位置截取长度为 length 的子字符串

    SELECT SUBSTR("RUNOOB", 2, 3) AS ExtractString;
    ---- 从字符串 RUNOOB 中的第 2 个位置截取 3个 字符,返回UNO
    

    14、SUBSTR/SUBSTRING(s, start, length)从字符串 s 的 start 位置截取长度为 length 的子字符串

    SELECT SUBSTR/SUBSTRING("RUNOOB", 2, 3);
    ---- 从字符串 RUNOOB 中的第 2 个位置截取 3个 字符,返回UNO
    

    15、POSITION(s1 IN s)从字符串 s 中获取 s1 的开始位置

    SELECT POSITION('b' in 'abc');
    ---- 返回2
    

    16、REPEAT(s,n)将字符串 s 重复 n 次

    SELECT REPEAT('runoob',3);
    ---- 返回runoobrunoobrunoob
    

    17、REVERSE(s)将字符串s的顺序反过来

    SELECT REVERSE('abc');
    ---- 返回cba
    

    18、STRCMP(s1,s2)比较字符串 s1 和 s2,如果 s1 与 s2 相等返回 0 ,如果 s1>s2 返回 1,如果 s1<s2 返回 -1

    SELECT STRCMP("runoob", "runoob");
    ---- 返回0
    

    (三)日期函数

    1、CURDATE()/CURRENT_DATE()返回当前日期

    SELECT CURDATE();
    SELECT CURRENT_DATE();
    ---- 返回2019-02-19
    

    2、CURRENT_TIME()/CURTIME()返回当前时间

    SELECT CURRENT_TIME();
    ---- 返回11:40:45
    

    3、CURRENT_TIMESTAMP()返回当前日期和时间

    SELECT CURRENT_TIMESTAMP();
    ---- 返回2019-02-19 11:41:32
    

    4、ADDDATE(d,n)计算起始日期 d 加上 n 天的日期

    SELECT ADDDATE("2017-06-15", INTERVAL 10 DAY);
    ---- 返回2017-06-25
    

    5、ADDTIME(t,n)时间 t 加上 n 秒的时间

    SELECT ADDTIME('2011-11-11 11:11:11', 5);
    ---- 返回2011-11-11 11:11:16
    

    6、DATE()从日期或日期时间表达式中提取日期值

    SELECT DATE("2017-06-15 11:11:16");
    ---- 返回2017-06-15
    

    7、DAY(d)返回日期值 d 的日期部分

    SELECT DAY("2017-06-15"); 
    ---- 返回15
    

    8、DATEDIFF(d1,d2)计算日期 d1->d2 之间相隔的天数

    SELECT DATEDIFF('2001-01-01','2001-02-02'); 
    ---- 返回-32
    

    9、DATE_FORMAT按表达式 f的要求显示日期 d

    SELECT DATE_FORMAT('2011.11.11 11:11:11','%Y-%m-%d %r');
    ---- 返回2011-11-11 11:11:11 AM
    

    10、DAYNAME(d)返回日期 d 是星期几,如 Monday,Tuesday

    SELECT DAYNAME('2011-11-11 11:11:11');
    ---- 返回Friday
    

    11、DAYOFMONTH(d)计算日期 d 是本月的第几天

    SELECT DAYOFMONTH('2011-11-11 11:11:11');
    ---- 返回11
    

    12、DAYOFWEEK(d)日期 d 今天是星期几,1 星期日,2 星期一,以此类推

    SELECT DAYOFWEEK('2011-11-11 11:11:11');
    ---- 返回6
    

    13、DAYOFYEAR(d)计算日期 d 是本年的第几天

    SELECT DAYOFYEAR('2011-11-11 11:11:11');
    ---- 返回315
    

    14、EXTRACT(type FROM d)从日期 d 中获取指定的值,type 指定返回的值
    type可取值为:
    MICROSECOND
    SECOND
    MINUTE
    HOUR
    DAY
    WEEK
    MONTH
    QUARTER
    YEAR
    SECOND_MICROSECOND
    MINUTE_MICROSECOND
    MINUTE_SECOND
    HOUR_MICROSECOND
    HOUR_SECOND
    HOUR_MINUTE
    DAY_MICROSECOND
    DAY_SECOND
    DAY_MINUTE
    DAY_HOUR
    YEAR_MONTH

    SELECT EXTRACT(MINUTE FROM '2011-12-13 14:15:16');
    ---- 返回15
    

    15、DAYOFWEEK(d)日期 d 今天是星期几,1 星期日,2 星期一,以此类推

    SELECT DAYOFWEEK('2011-11-11 11:11:11');
    ---- 返回6
    

    16、UNIX_TIMESTAMP()得到时间戳

    SELECT UNIX_TIMESTAMP('2019-2-19');
    SELECT UNIX_TIMESTAMP(expression);
    ---- 返回1550505600
    

    17、FROM_UNIXTIME()时间戳转日期

    SELECT FROM_UNIXTIME(1550505600);
    ---- 返回2019-02-19 00:00:00
    SELECT FROM_UNIXTIME(1550505600, '%Y-%m-%d');
    ---- 返回2019-02-19
    

    (四)MySQL高级函数

    1、IF(expr,v1,v2)如果表达式 expr 成立,返回结果 v1;否则,返回结果 v2

    SELECT IF(1>0,'yes','no');
    ---- 返回yes
    

    2、CONV(x,f1,f2)返回 f1 进制数变成 f2 进制数

    SELECT CONV(13,10,2);
    ---- 返回1101
    

    3、CURRENT_USER()/SESSION_USER()/SYSTEM_USER()/USER()返回当前用户
    4、DATABASE()返回当前数据库名
    5、VERSION()返回数据库的版本号
    在这里插入图片描述

    有不正确的地方,欢迎前来指正!

    展开全文
  • MySql常用函数大全讲解

    万次阅读 多人点赞 2017-12-04 15:47:43
    MySQL函数包括数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数、加密函数、格式化函数等。通过这些函数,可以简化用户的操作。例如,字符串连接函数可以很方便的将多个字符串连接在一起。在这一...
  • Oracle数据库常用函数

    万次阅读 多人点赞 2017-10-01 17:15:12
    1.字符函数: upper('字符串'|列名称)将输入的字符串转换成大写 lower('字符串'|列名称)将输入的字符串转换成小写 initcap('字符串'|列名称),首字母大写 length('字符串'|列名称);字符串长度 replace('字符串'|列...
  • 常用的数据库函数

    千次阅读 2018-07-10 14:07:01
    很多人知道ISNULL函数,但是很少人知道Coalesce函数,人们会无意中使用到Coalesce函数,并且发现它比ISNULL更加强大,其实到目前为止,这个函数的确非常有用。返回其参数中第一个非空表达式 语法: COALESCE ( ...
  • oracle常用函数详解(详细)

    万次阅读 多人点赞 2018-07-11 16:39:41
     单行函数:操作一行数据,返回一个结果常用的单行函数有:字符串函数:对字符串操作。数字函数:对数字进行计算,返回一个数字。日期函数:对日期和时间进行处理。转换函数:可以将一种数据类型转换为另外一种数据...
  • postgis常用函数介绍(一)

    千次阅读 2015-08-16 13:06:57
    在进行地理信息系统开发的过程中,常用的空间数据库esri的sde,postgres的postgis以及mySQL的mysql gis等等,在本文,给大家介绍的是有关postgis的一些常用函数的意思以及使用。
  • 今天来说说深度学习中常见的损失函数(loss),覆盖分类,回归任务以及生成对抗网络,了目标才能去优化一个模型。 作者&编辑 | 言三 1 什么是损失函数 在机器学习中,损失函数(loss function)是用来...
  • C语言windows.h库的常用函数(三)

    千次阅读 多人点赞 2019-09-07 21:57:00
    SetCursorPos函数 用途 SetCursorPos函数是windows.h库中用来设置指针位置的函数,使用该函数鼠标指针将会直接跳至指定坐标位置 参数 SetCursorPos函数拥有x和y两个整型参数,作为鼠标指针的坐标位置(其中0,0坐标...
  • XPath常用函数

    万次阅读 2019-05-20 10:03:43
    有关数值的函数 有关字符串的函数 关于布尔值的函数 有关序列的函数 一般性的函数 测试序列容量的函数 Equals, Union, Intersection and Except 合计函数 生成序列的函数 上下文函数 函数示例 摘自W3...
  • 字符串常用函数大全

    千次阅读 2020-12-04 20:43:18
    众所周知,C语言里面很多额字符串函数。那么,如何高效合理地运用好这些函数是一个难点,下面我就来给大家说说我是如何理解这些字符串函数的。 在介绍字符串函数之前,我们先来给这些个字符串函数分一下类。 .....
  • vb常用函数一览表

    千次阅读 2018-08-05 17:10:29
    常用内部函数 数学函数 函数
  • 常用激活函数(激励函数)理解与总结

    万次阅读 多人点赞 2018-05-13 23:07:19
    引言 学习神经网络的时候我们总是听到激活函数这个词,而且很多资料都会提到常用...有哪些激活函数,都什么性质和特点? 应用中如何选择合适的激活函数? 如果你对以上几个问题不是很清楚,下面的内容对你是...
  • 决策树有哪些常用的启发函数

    千次阅读 2019-03-23 21:53:10
    首先我们回顾一下这几种决策树构造时使用的准则。 ID3-最大信息增益
  • 今天和大家分享一组常用函数公式的使用方法,用心掌握这些函数,工作效率会大大提升。欢迎转发给更多需要的人。一、相关概念(一)函数语法由函数名+括号+参数组成例: 求和函数:SUM(A1,B2,…) 。参数与参数之 间用...
  • PHP常用函数大全

    万次阅读 多人点赞 2018-06-11 14:28:36
    字符串函数strlen:获取字符串长度,字节长度substr_count 某字符串出现的次数substr:字符串截取,获取字符串(按照字节进行截取)mb_strlenmb_substrstrchr:与substr相似,从指定位置截取一直到最后strrchr(获取...
  • C语言常用函数大整理

    千次阅读 多人点赞 2020-04-28 15:43:08
    最近在准备复试,要用DEV C++写程序,被各种功能强大的IDE宠惯的我当然不会自己去记这些函数,但往往记不住这些函数就写不出程序,于是我决定自己整理一下这些常用函数,长个记性。 目录 一、输入输出函数 二、...
  • 常用小波函数

    千次阅读 2019-06-11 15:46:57
    主要常用函数如下: wavedemo ;小波工具箱函数demo cwt ;一维连续小波变换 dwt 单尺度一维离散小波变换,对离散小波单层分解 idwt 单尺度一维离散小波逆变换 wavedec 单尺度一维小波分解,对离散小波...
  • C语言一些常用函数

    千次阅读 多人点赞 2020-03-20 21:10:51
    C语言一些常用函数 (1)sizeof()函数 编译器自带的不用到任何包都能用。 用法: sizeof(类型说明符, 数组名或 表达式);  或sizeof (变量名); 返回值:变量所占的字节的长度。 计算变量占了多大字节的空间,当计算...
  • ORACLE 常用函数——聚合函数

    千次阅读 2018-07-19 14:02:31
    ORACLE 常用函数    这个系列我将整理一些日常我们经常使用到的ORACLE函数,鉴于篇幅太长,我大体会按下面分类来整理、汇总这些常用的ORACLE函数,如果有些常用函数没有被整理进来,也希望大家指点一二。 ...
  • C/C++常用函数合集

    万次阅读 多人点赞 2018-09-03 22:53:46
    参数解释 is 进行读入操作的输入流,常用cin str 已声明的用于存储读入内容的对象,常为string类型 delim 终结符 作用:将输入流is中读到的字符存入str中,直到遇到终结符delim才结束。如果没有定义delim,则默认为...
  • Hive常用函数整理

    千次阅读 多人点赞 2019-03-24 17:16:57
    一、Hive Hive是建立在 Hadoop 上的数据仓库基础架构,定义了简单的类 SQL 查询语言(HQL),以实现MR功能,其提供的一系列函数同样类似于...函数分类方式很多,个人将其分为简单内置函数,高级内置函数以及自定义函数。 ...
  • C/C++常用函数汇总

    千次阅读 多人点赞 2019-03-20 21:12:29
    汇总C/C++中常见的主流函数,适用于竞赛、笔试考前突击
  • LoadRunner常用函数列表

    万次阅读 2016-08-08 15:25:19
    1. Intweb_reg_save_param("参数名","LB=左边界","RB=右边界",LAST);/注册函数,在参数值出现的前面使用,注册成功时返回值为0,注册...用以上函数能获取第一个符合条件的数值。 2. web_reg_save_param("参数名”,"L
  • python—各种常用函数及库

    万次阅读 多人点赞 2018-03-25 20:37:24
    set()函数用于集合的生成,返回结果是一个无重复且排序任意的集合 集合通常用于表示成员间的关系、元素去重等。 集合的操作: s-t 或 s.difference(t) 返回在集合s中但不在t中的元素 s&t 或 s.intersection(t) ...
  • c++ 构造函数详解

    万次阅读 多人点赞 2019-05-31 17:20:58
    c++构造函数详解。(构造函数的分类、拷贝构造函数
  • SVM常用函数

    万次阅读 2018-07-18 15:44:39
    SVM核函数的选择对于其性能的表现至关重要的作用,尤其是针对线性不可分的数据。核函数的作用是,通过将空间内线性不可分的数据映射到一个高维的特征空间,使得数据在特征空间内是可分的(动画)。我们定义这种...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,489,198
精华内容 595,679
关键字:

常用的函数有哪些