美文网首页mysql
01.mysql常用函数

01.mysql常用函数

作者: 我只是有点困_52b7 | 来源:发表于2020-04-05 14:10 被阅读0次

1、通配符

% 匹配多个字符,_ 匹配一个字符

使用通配符%,尽量不要把它们用在搜索模式的开始处。如('%fdf')

2、REGEXP

正则表达式匹配。默认不区分大小写。

REGEXP与LIKE的区别:

  • like匹配整个列值,如果别匹配的整个文本在列值中出现,将不会找到它。

  • regexp在列值内进行匹配。如果像like一样,可以使用^和$定位符。

  • 如果需要区分大小写可以使用REGEXP BINARY

    mysql转义使用\\两个反斜杠(mysql自己解释一个,正则表达式库解释另外一个)

3、mysql常用函数

3.1 文本处理函数

  • concat 列拼接
  • rtrim 去掉右边的所有空格
  • ltrim 去掉左边的所有空格
  • trim 去掉左右两边的空格
  • upper 文本转为大写
  • lower 文本转小写
  • left(str,length) 返回具有指定长度的字符串的左边部分
  • right(str,length) 返回具有指定长度的字符串的右边部分
  • length(str)返回字符串长度
  • locate(substr,str)substr在str中出现的位置。包含>0,不包含=0
  • soundex(str)类似的发音字符和音节,能对文本串进行发音比较而不是字母比较
  • substring从字符串中提取子字符串,pos从1开始提取
    • substring(str,pos)
    • substring(str from pos)
    • substring(str,pos,len)
    • substring(str from pos for len)

3.2日期和时间处理函数

select cust_id,order_num from orders where order_date = '2005-09-01'
order_date的数据类型为datetime。这种类型存储日期和时间值。
当order_date为2005-09-01 11:30:05是无法检索出来的。
只能检索出2005-09-01 00:00:00。
可以使用date()函数只比较日期即可。
  • now() 返回数据库所在时间
  • curdate()返回当前日期
  • curtime返回当前时间
  • date(date)返回日期时间的日期部分如:2020-04-04
  • time(date)返回日期时间的时间部分如:23:53:26
  • year(date)返回日期时间的年份部分如:2020
  • month(date)返回日期时间的月份部分如:4
  • day(date)返回日期时间的天数部分如:4
  • hour(date)返回日期时间的小时部分如:23
  • minute(date)返回日期时间的分钟部分如:51
  • second(date)返回日期时间的秒部分如:33
  • date_add(date,INTERVAL expr type)与addDate(date,INTERVAL expr type)相同。
  • date_sub(date,INTERVAL expr type)与subdate(date,INTERVAL expr type)相同。
    • 当erpr为负值,相当于date_add
  • addtime(expr1,expr2)添加到expr2 到 expr1 并返回结果
    • 如:select addtime(now(),'10:30:30') from dual;
    • 当expr2为-如:select addtime(now(),'-10:30:30') from dual;相当于subtime
  • subtime(expr1,expr2)expr1减去expr2并返回结果
    • select subtime(now(),'10:30:30') from dual;
    • 当expr2为-如:select subtime(now(),'-10:30:30') from dual;;相当于addtime
  • datediff
  • date_format(date,formate)用于以不同的格式显示日期/时间数据
    • %Y年,4位
    • %y年,2位
    • %M ,月名(April)
    • %m ,月,数值(00-12)
    • %D ,带有英文前缀的月中的天(5th)
    • %d ,月的天,数值(00-31)
    • %e ,月的天,数值(0-31)
    • %H ,小时 (00-23)
    • %h ,小时 (01-12)
    • %i ,分钟数值(00-59)
    • %S ,秒(00-59)
    • %s ,秒(00-59)
    • %T ,时间, 24-小时 (hh:mm:ss)
  • str_to_date('2020-03-20 16:01:45', '%Y-%m-%d %H:%i:%s')字符串转时间

3.3数值处理函数

  • rand()返回0-1的随机数
    • rand(1)与rand(20)每次分别返回两个固定数值,在0-1之间
  • round四舍五入函数
    • round(数值)同round(数值,0)只保留整数,四舍五入
    • round(数值,参数)
      • 如果参数的值为正数,表示保留几位小数。round(45.926,2) 为45.93,round(45.926,1)为45.9
      • 如果参数的值为负数,表示对小数点前第几位进行四舍五入。round(51.926,-1)为50,round(51.926,-2)为100
  • ceil(数值):向上取整
    • ceil(99.1)为100,ceil(-99.1)为-99
  • floor(数值):向下取整
    • floor(99.1)为99,floor(-99.1)为-100
  • abs(x):返回 x 的绝对值
  • truncate(X,D):将数字X截断到指定的小数位数D(不四舍五入)
    • truncate(89.985,2)为89.98
    • truncate(89.985,4)为89.9850当D大于实际小数位是会补0

3.4字符串转数字(空字符为0)

  • SELECT '123'+0
  • CAST(value as type);CONVERT(value, type);
    • type为signed,unsigned,decimal
    • decimal默认不保留精度。
    • 保留精度可以使用demical(M,D)**函数采取四舍五入的方式,保留小数位数.

3.5数字转字符串

  • concat(99,780,'')
  • cast(44.7686 as char)

3.5函数判断空值

  • ISNULL()函数仅仅是用于判断空值的,接受一个参数并返回一个布尔值。存在返回0,不存在返回1
  • IFNULL(v1, v2)如果第一个参数不是NULL,则返回第一个参数;否则,将返回第二个参数。
  • NULLIF(expr1,expr2)。如果expr1 = expr2 成立,那么返回值为NULL,否则返回值为expr1。这和CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END相同

3.6条件判断

  • IF(expr1,expr2,expr3),如果expr1的值为true,则返回expr2的值。否则返回expr3

    • select IF(age<4,'小朋友','大朋友') from tb_user;
      
  • IF ELSE用于存储过程与函数。

    IF age<2 THEN '小朋友'
    ELSEIF age<4 THEN '中朋友'
    ELSE '大朋友'
    END IF
    
  • CASE WHEN

    • SELECT *,
      (CASE 
      WHEN age<2 THEN '小朋友'
      WHEN age<4 THEN'中朋友'
      ELSE '大朋友'
      END) as descp
      FROM tb_user;
      
    • SELECT *,
      (CASE sex
      WHEN 0 THEN '男'
      WHEN 1 THEN'女'
      ELSE '其他'
      END) as '性别'
      FROM tb_user;
      

相关文章

  • 01.mysql常用函数

    1、通配符 % 匹配多个字符,_ 匹配一个字符 使用通配符%,尽量不要把它们用在搜索模式的开始处。如('%fdf'...

  • 阿里云E-MapReduce团队:37篇大数据之路干货分享,我收

    01.MySQL:互联网公司常用分库分表方案汇总 文章简介:不管是IO瓶颈,还是CPU瓶颈,最终都会导致数据库的活...

  • php-常用函数

    常用函数 常用函数: 数组常用函数

  • excel 常用快捷键及函数

    1.常用快捷键 2.常用函数 ①零件函数 日期函数 文本函数 统计函数 随机函数 ②if函数

  • 函数进阶_2

    目录 常用内置函数 匿名函数 高阶函数 闭包 装饰器 1. 常用内置函数 1.1 range()函数 语法:ran...

  • MySQL基本使用

    函数 常用函数 数学函数 字符串函数 日期函数

  • C++常用库函数

    1.常用数学函数 #include 2.常用字符串处理函数 #include 3.其他常用函数 ...

  • 机器学习

    常用激活函数(激励函数) Sigmoid函数 Relu函数

  • python常用时间函数

    常用函数 日常写代码,经常用到时间相关的函数,以下整理了python常用的时间函数: 执行结果 此外datatim...

  • c++ 7、字符串

    1、字符串常用函数(原生) 2、字符串常用函数(扩展)

网友评论

    本文标题:01.mysql常用函数

    本文链接:https://www.haomeiwen.com/subject/nhsuphtx.html