yiwi515

导航

mysql内置函数

1.字符串函数
  1.1.查看字符的ascii码值ascii(str),str是空串时返回0
    select ascii('a');
  1.2.查看ascii码值对应的字符char(int)
    select char(97);
  1.3.拼接字符串 concat(str1,str2...)
    select concat(100,'abc');
  1.4.字符个数 length(str)
    select lengh('abc');
  1.5.截取字符串
    left(str,len)返回字符串str的左端len个字符
    right(str,len)返回字符串str的右端len个字符
    substring(str,pos,len)返回字符串str的位置pos起len个字符
      select left('abc123',2);
      select right('abc123',2);
      select substring('abc123',2,3);
  1.6.去除空格
    ltrim(str)返回删除了左空格的字符串str
    rtrim(str)返回删除了右空格的字符串str
    trim([方向 remstr from str)返回从某侧删除remstr后的字符串str,方向词包括both、leading、trailing,表示两侧、左、右。
      select ltrim(' a ');
      select rtrim(' a ');
      select trim(' a ');
      select trim(both "x" from "xxbarxx");
      select trim(leading "x" from "xxbarxx");
      select trim(trailing "x" from "xxbarxx");
  1.7.返回由n个空格字符组成的一个字符串space(n)
    select space(10);
  1.8.替换字符串replace(str,from_str,to_str)
    select replace('abc123','123','def');
  1.9.大小写转换
    lower(str)
    upper(str)

2.数学函数
  2.1.求绝对值 abs(n)
  2.2.求余数 mod(m, n) | %
  2.3.向下取整 floor(n)
  2.4.向上取整 ceiling(n)
  2.5.四舍五入 round(n,d) d表示小数位数
  2.6.求幂 pow(x, y)
  2.7.圆周率 PI()
  2.8. 0~1.0 的随机浮点数 rand()

3.日期时间函数
  3.1.获取当前日期:select current_data();
  3.2.获取当前时间:select current_time();
  3.3.获取当前日期时间:select now();
  3.4.获取子值:year(date), month(date), day(date), hour(time), minute(time), second(time)
  3.5.日期计算:select date +|- interval 1 day|month|year
  3.6.日期格式化:select date_format(date,format)
    %Y 获取年,返回完整年份
    %y 获取年,返回简写年份
    %m 获取月,返回月份
    %d 获取日,返回天值
    %H 获取时,返回24进制的小时数
    %h 获取时,返回12进制的小时数
    %i 获取分,返回分钟数
    %s 获取秒,返回秒数

4.类型转换函数
  select convert(value,type)
  select cast(value as type)
  二进制 binary
  字符型 char,可指定字符个数如char(10)
  日期 date
  时间 time
  日期时间型 datetime
  浮点数 decimal
  整数 signed
  无符号整数 unsigned

5.流程控制函数
  5.1. case语法1:等值判断
    说明:当值等于某个比较值的时候,对应的结果会被返回;如果所有的比较值都不相等则返回else的结果;如果没有else并且所有比较值都不相等则返回null
    select case 1 when 1 then 'one' when 2 then 'two' else 'zero' end as result;
  5.2. case语法2:非等值判断,可以进行 > 、<、!=等判断

    说明:当某个条件返回true时,对应的结果被返回;如果所有的条件都不返回true则返回else的结果;如果没有else并且所有条件都不返回true则返回null

    select case when 1 > 2 then 'part1' when 3 > 2 then 'part2' else 'part3' end as result;
  5.3. if语句:如果表达式的结果为true,则返回结果1,否则返回结果2
    select if(1 > 2,2,3) as result;
  5.4. ifnull语句:如果表达式1不为null,则返回表达式1的结果,否则返回表达式2的结果
    select ifnull(1,0) as result;
  5.5. nullif语句:如果表达式1等于表达式2,则返回null,否则返回表达式1的结果
    select nullif(1,0) as result;

posted on 2017-08-15 22:04  yiwi515  阅读(94)  评论(0编辑  收藏  举报