• 十、常用的几十个函数详解


    一、MySQL 数值型函数

    函数名称作 用
    abs 求绝对值
    sqrt 求二次方根
    mod 求余数
    ceil 和 ceiling 两个函数功能相同,都是返回不小于参数的最小整数,即向上取整
    floor 向下取整,返回值转化为一个BIGINT
    rand 生成一个0~1之间的随机数,传入整数参数是,用来产生重复序列
    round 对所传参数进行四舍五入
    sign 返回参数的符号
    pow 和 power 两个函数的功能相同,都是所传参数的次方的结果值
    sin 求正弦值
    asin 求反正弦值,与函数 SIN 互为反函数
    cos 求余弦值
    acos 求反余弦值,与函数 COS 互为反函数
    tan 求正切值
    atan 求反正切值,与函数 TAN 互为反函数
    cot 求余切值

     

    1、abs:求绝对值

      函数 ABS(x) 返回 x 的绝对值。正数的绝对值是其本身,负数的绝对值为其相反数,0 的绝对值是 0。

    2、sqrt:求二次方跟(开方)

      函数 SQRT(x) 返回非负数 x 的二次方根。负数没有平方根,返回结果为 NULL。

    3、mod:求余数

      函数 MOD(x,y) 返回 x 被 y 除后的余数,MOD() 对于带有小数部分的数值也起作用,它返回除法运算后的余数。

    4、ceil和ceiling:向上取整

      函数 CEIL(x) 和 CEILING(x) 的意义相同,返回不小于 x 的最小整数值,返回值转化为一个 BIGINT。

    5、floor:向下取整

      floor(x) 函数返回小于 x 的最大整数值。

    6、rand:生成一个随机数

      生成一个0~1之间的随机数,传入整数参数是,用来产生重复序列

    7、round:四舍五入函数

      返回最接近于参数 x 的整数;ROUND(x,y) 函数对参数x进行四舍五入的操作,返回值保留小数点后面指定的y位。

    8、sign:返回参数的符号

      返回参数的符号,x 的值为负、零和正时返回结果依次为 -1、0 和 1。

    9、pow 和 power:次方函数

      POW(x,y) 函数和 POWER(x,y) 函数用于计算 x 的 y 次方。

    10、sin:正弦函数

      SIN(x) 返回 x 的正弦值,其中 x 为弧度值。

      注:PI() 函数返回圆周率(3.141593) 

    二、MySQL 字符串函数

    函数名称作 用
    length 计算字符串长度函数,返回字符串的字节长度
    concat 合并字符串函数,返回结果为连接参数产生的字符串,参数可以使一个或多个
    insert 替换字符串函数
    lower 将字符串中的字母转换为小写
    upper 将字符串中的字母转换为大写
    left 从左侧字截取符串,返回字符串左边的若干个字符
    right 从右侧字截取符串,返回字符串右边的若干个字符
    trim 删除字符串左右两侧的空格
    replace 字符串替换函数,返回替换后的新字符串
    substr 和 substring 截取字符串,返回从指定位置开始的指定长度的字符换
    reverse 字符串反转(逆序)函数,返回与原始字符串顺序相反的字符串

     

      1、length:返回字符串直接长度

        返回值为字符串的字节长度,使用 uft8(UNICODE 的一种变长字符编码,又称万国码)编码字符集时,一个汉字是 3 个字节,一个数字或字母是一个字节。

        select length('javacode2018'),length('路人甲Java'),length('路人');

      2、concat:合并字符串  

        CONCAT(sl,s2,…) 函数返回结果为连接参数产生的字符串,或许有一个或多个参数。

        若有任何一个参数为 NULL,则返回值为 NULL。若所有参数均为非二进制字符串,则结果为非二进制字符串。若自变量中含有任一二进制字符串,则结果为一个二进制字符串。

        select concat('路人甲','java'),concat('路人甲',null,'java');

      3、insert:替换字符串   

        INSERT(s1,x,len,s2) 返回字符串 s1,子字符串起始于 x 位置,并且用 len 个字符长的字符串代替 s2。

        x的值从1开始,第一个字符的x=1,若 x 超过字符串长度,则返回值为原始字符串。

        假如 len 的长度大于其他字符串的长度,则从位置 x 开始替换。

        若任何一个参数为 NULL,则返回值为 NULL。

      4、lower:将字母转换成小写

        LOWER(str) 可以将字符串 str 中的字母字符全部转换成小写。

      5、upper:将字母转换成大写

        UPPER(str) 可以将字符串 str 中的字母字符全部转换成大写。

      6、left:从左侧截取字符串

        LEFT(s,n) 函数返回字符串 s 最左边的 n 个字符,s=1表示第一个字符。

      7、right:从右侧截取字符串

        RIGHT(s,n) 函数返回字符串 s 最右边的 n 个字符。

      8、trim:删除字符串两侧空格

        TRIM(s) 删除字符串 s 两侧的空格。

      9、replace:字符串替换

        REPLACE(s,s1,s2) 使用字符串 s2 替换字符串 s 中所有的字符串 s1。

      10、substr 和 substring:截取字符串    

        substr(str,pos)

        substr(str from pos)

        substr(str,pos,len)

        substr(str from pos for len)

        substr()是substring()的同义词。

        没有len参数的形式是字符串str从位置pos开始返回一个子字符串。

        带有len参数的形式是字符串str从位置pos开始返回长度为len的子字符串。

        使用FROM的形式是标准的SQL语法。

        也可以对pos使用负值,在这种情况下,子字符串的开头是字符串末尾的pos字符,而不是开头。在这个函数的任何形式中pos可以使用负值。

        对于所有形式的substring(),从中提取子串的字符串中第一个字符的位置被认为是1。    

        /** 第三个字符之后的子字符串:inese **/

        SELECT substring('chinese', 3);

        /** 倒数第三个字符之后的子字符串:ese **/

        SELECT substring('chinese', -3);

         /** 第三个字符之后的两个字符:in **/

        SELECT substring('chinese', 3, 2);

        /** 倒数第三个字符之后的两个字符:es **/

        SELECT substring('chinese', -3, 2);

        /** 第三个字符之后的子字符串:inese **/

        SELECT substring('chinese' FROM 3);

         /** 倒数第三个字符之后的子字符串:ese **/

        SELECT substring('chinese' FROM -3);

         /** 第三个字符之后的两个字符:in **/

        SELECT substring('chinese' FROM 3 FOR 2);

         /** 倒数第三个字符之后的两个字符:es **/

        SELECT substring('chinese' FROM -3 FOR 2);

      11、reverse:反转字符串

        REVERSE(s) 可以将字符串 s 反转,返回的字符串的顺序和 s 字符串的顺序相反。

         select reverse('路人甲Java');  --avaJ甲人路  

    三、MySQL 日期和时间函数

    函数名称作 用
    curdate 和 current_date 两个函数作用相同,返回当前系统的日期值
    curtime 和 current_time 两个函数作用相同,返回当前系统的时间值
    now 和 sysdate 两个函数作用相同,返回当前系统的日期和时间值
    unix_timestamp 获取UNIX时间戳函数,返回一个以 UNIX 时间戳为基础的无符号整数
    from_unixtime 将 UNIX 时间戳转换为时间格式,与UNIX_TIMESTAMP互为反函数
    month 获取指定日期中的月份
    monthname 获取指定日期中的月份英文名称
    dayname 获取指定曰期对应的星期几的英文名称
    dayofweek 获取指定日期是一周中是第几天,返回值范围是1~7,1=周日
    week 获取指定日期是一年中的第几周,返回值的范围是否为 0〜52 或 1〜53
    dayofyear 获取指定曰期是一年中的第几天,返回值范围是1~366
    dayofmonth 获取指定日期是一个月中是第几天,返回值范围是1~31
    year 获取年份,返回值范围是 1970〜2069
    time_to_sec 将时间参数转换为秒数
    sec_to_time 将秒数转换为时间,与TIME_TO_SEC 互为反函数
    date_add 和 adddate 两个函数功能相同,都是向日期添加指定的时间间隔
    date_sub 和 subdate 两个函数功能相同,都是向日期减去指定的时间间隔
    addtime 时间加法运算,在原始时间上添加指定的时间
    subtime 时间减法运算,在原始时间上减去指定的时间
    datediff 获取两个日期之间间隔,返回参数 1 减去参数 2 的值
    date_format 格式化指定的日期,根据参数返回指定格式的值
    weekday 获取指定日期在一周内的对应的工作日索引

     

    四、MySQL 聚合函数

    函数名称作用
    max 查询指定列的最大值
    min 查询指定列的最小值
    count 统计查询结果的行数
    sum 求和,返回指定列的总和
    avg 求平均值,返回指定列数据的平均值

    五、MySQL 流程控制函数

    函数名称作用
    if 判断,流程控制
    ifnull 判断是否为空
    case 搜索语句

    1、IF(expr,v1,v2) 当 expr 为真是返回 v1 的值,否则返回 v2

    2、IFNULL(v1,v2):v1为空返回v2,否则返回v1。

    3、CASE  <表达式>
         WHEN <值1> THEN <操作>
         WHEN <值2> THEN <操作>
         ...
         ELSE <操作>
      END CASE;

      CASE
          WHEN <条件1> THEN <命令>
          WHEN <条件2> THEN <命令>
          ...
          ELSE commands
      END CASE;

    六、其他函数

    函数名称作用
    version 数据库版本号
    database 当前的数据库
    user 当前连接用户
    password 返回字符串密码形式
    md5 返回字符串的md5数据
     
  • 相关阅读:
    Python 面向对象(一)
    【Python之搜索引擎】(一)概述
    【Python】回文palindrome——利用字符串反转
    【Python】raw转义字符
    【Python】directory字典类型
    【Python】面向对象编程思想
    【Python】Sublime text 3 搭建Python IDE
    【Python】卸载完Python3 之后 Python2 无法打开IDLE
    【Python】猜数小游戏(文件操作)
    【Python】list和tuple 区别比较
  • 原文地址:https://www.cnblogs.com/biao/p/11757645.html
Copyright © 2020-2023  润新知