zoukankan      html  css  js  c++  java
  • 十、常用的几十个函数详解

    一、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数据
     
  • 相关阅读:
    ruby 二进制转十进制 Integer("0b101") = 5
    开始菜单和我的文档的我的图片及我的音乐变成 my pictrues 正常图标了
    ruby watir 莫名其妙的错误
    Excel SaveAS是去掉提示框
    apache && jboss安装
    ruby require include的区别
    ruby控制鼠标
    This error is raised because the column 'type' is reserved for storing the class in case of inheritance
    用正则表达式限制文本框只能输入数字,小数点,英文字母,汉字等各类代码
    ASP.NET 如何动态修改 Header 属性如添加 Meta 标签 keywords description!
  • 原文地址:https://www.cnblogs.com/biao/p/11757645.html
Copyright © 2011-2022 走看看