美文网首页
SQL语句:常用函数

SQL语句:常用函数

作者: 一个小运维 | 来源:发表于2021-06-07 08:36 被阅读0次

常用函数

分类

按使用方式分为:

  • 单行函数
  • 分组函数

按用途分为:

  • 字符函数
  • 数学函数
  • 日期函数
  • 流程控制函数

用法:

SELECT 函数(参数) FROM 表;

函数应用

字符函数:
  • LENGTH(str):返字符串长度,以字节为单位
mysql> select length('abc');
mysql> select length('你好');
mysql> select char_length('你好');
  • CONCAT(s1,s2,...): 返回连接参数产生的字符串,一个或多个待拼接的内容,任意一个为NULL则返回值为NULL
# 拼接字符串
mysql> select concat(dept_id, '-', dept_name) from departments;
  • UPPER(str)和UCASE(str): 将字符串中的字母全部转换成大写
mysql> select name, upper(email) from employees where name like '李%';
  • LOWER(str)和LCASE(str):将str中的字母全部转换成小写
mysql> select lower('HelloWorld');
  • SUBSTR(s, start, length): 从子符串s的start位置开始,取出length长度的子串,位置从1开始计算
mysql> select substr('hello world', 7);

# 取子串,下标从7开始取出3个
mysql> select substr('hello world', 7, 3);
  • INSTR(str,str1):返回str1参数,在str参数内的位置
# 子串在字符串中的位置
mysql> select instr('hello world', 'or');

mysql> select instr('hello world', 'ol');
  • TRIM(s): 返回字符串s删除了两边空格之后的字符串
mysql> select trim('  hello world.  ');

数学函数

  • ABS(x):返回x的绝对值
mysql> select abs(-10);
  • PI(): 返回圆周率π,默认显示6位小数
mysql> select pi();
  • MOD(x,y): 返回x被y除后的余数
mysql> select mod(10, 3);
  • CEIL(x)、CEILING(x): 返回不小于x的最小整数
mysql> select ceil(10.1);
  • FLOOR(x): 返回不大于x的最大整数
mysql> select floor(10.9);
  • ROUND(x)、ROUND(x,y): 前者返回最接近于x的整数,即对x进行四舍五入;后者返回最接近x的数,其值保留到小数点后面y位,若y为负值,则将保留到x到小数点左边y位
mysql> select round(10.6666);

mysql> select round(10.6666, 2);

日期和时间函数

  • CURDATE()、CURRENT_DATE(): 将当前日期按照"YYYY-MM-DD"或者"YYYYMMDD"格式的值返回,具体格式根据函数用在字符串或是数字语境中而定
mysql> select curdate();

mysql> select curdate() + 0;
  • NOW(): 返回当前日期和时间值,格式为"YYYY_MM-DD HH:MM:SS"或"YYYYMMDDHHMMSS",具体格式根据函数用在字符串或数字语境中而定
mysql> select now();

mysql> select now() + 0;
  • UNIX_TIMESTAMP()、UNIX_TIMESTAMP(date): 前者返回一个格林尼治标准时间1970-01-01 00:00:00到现在的秒数,后者返回一个格林尼治标准时间1970-01-01 00:00:00到指定时间的秒数
mysql> select unix_timestamp();
  • FROM_UNIXTIME(date): 和UNIX_TIMESTAMP互为反函数,把UNIX时间戳转换为普通格式的时间
mysql> select from_unixtime(0);

流程控制函数

  • IF(expr,v1,v2): 如果expr是TRUE则返回v1,否则返回v2
mysql> select if(3>0, 'yes', 'no');

mysql> select name, dept_id, if(dept_id=1, '人事部', '非人事部')  from employees where name='张亮';
  • IFNULL(v1,v2): 如果v1不为NULL,则返回v1,否则返回v2
mysql> select dept_id, dept_name, ifnull(dept_name, '未设置') from departments;

mysql> insert into departments(dept_id) values(9);
mysql> select dept_id, dept_name, ifnull(dept_name, '未设置') 
  • CASE expr WHEN v1 THEN r1 [WHEN v2 THEN v2] [ELSE rn] END: 如果expr等于某个vn,则返回对应位置THEN后面的结果,如果与所有值都不想等,则返回ELSE后面的rn
mysql> select dept_id, dept_name,
    -> case dept_name
    -> when '运维部' then '技术部门'
    -> when '开发部' then '技术部门'
    -> when '测试部' then '技术部门'
    -> when null then '未设置'
    -> else '非技术部门'
    -> end as '部门类型'
    -> from departments;

分组函数

用于统计,又称为聚合函数或统计函数

  • sum() :求和
mysql> select employee_id, sum(basic+bonus) from salary where 
  • avg() :求平均值
mysql> select employee_id, avg(basic+bonus) from salary where employee_id=10 and year(date)=2018;
  • max() :求最大值
mysql> select employee_id, max(basic+bonus) from salary where employee_id=10 and year(date)=2018;
  • min() :求最小值
mysql> select employee_id, min(basic+bonus) from salary where employee_id=10 and year(date)=2018;
  • count() :计算个数
mysql> select count(*) from departments;

相关文章

  • MySQL语法模板

    本系列文章主要归纳MySQL的SQL语句和常用的函数。 SQL语句:主要分为常用的,show,表、索引,视图,函数...

  • SQL语句:常用函数

    常用函数 分类 按使用方式分为: 单行函数 分组函数 按用途分为: 字符函数 数学函数 日期函数 流程控制函数 用...

  • Discuz 常用方法

    Discuz 常用函数 打印 打印变量函数 日志 写日志 DB对象函数 SQL 语句 format 的支持 ins...

  • MySql常用的sql语句

    MySql常用的sql语句 数据库 表 表结构 表的数据 键 试图 联接 用户 存储过程 函数 其他语句

  • Flutter Sqlite使用

    1、添加Sqlite依赖 2、在使用界面引用: 3、封装函数 4、Sql常用语句:

  • Mysql 优化

    1.Sql优化 1)sql优化分析2)索引优化3)sql语句优化4)一些常用的技巧优化 (正则、函数) 2.优化数...

  • 每天一SQL语句(04):SQL 语句函数篇

    【开篇】SQL 语句函数篇 【1】SQL FUNCTIONS(函数) SQL 拥有很多可用于计数和计算的内建函数。...

  • MySQl 常见面试题

    一、SQL语句 问题、SQL语句有哪些类型,每种类型有哪些常用关键字? DDL:数据定义语句。常用关键字有crea...

  • 数据库基础<五>

    常用SQL语句 1、SQL语句主要分为哪几类 数据定义语言DDL(Data Ddefinition Languag...

  • mysql常用SQL语句集锦

    非常有用!常用SQL语句集锦

网友评论

      本文标题:SQL语句:常用函数

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