1.聚合

其它:GROUP_CONCAT、avg、sum、count、max、min

SELECT typeid,GROUP_CONCAT(goodsname) FROM `goods`
GROUP BY typeid

2.日期函数

...

SELECT LENGTH('abc')
SELECT CONCAT('a','b') -- ab
SELECT CONCAT_WS(',','a','b') -- a,b SELECT *,CONCAT(NAME,sex),NAME+sex FROM student SELECT CONCAT('a',SPACE(5),'b') SELECT NOW() DECLARE @i DATETIME SET @i=NOW() SELECT @i; SELECT DAYOFYEAR(NOW()) SELECT SYSDATE() SELECT QUARTER('2017-01-01') SELECT DAY(NOW())
SELECT IF(1=1,2,3);
SELECT IFNULL(1,2);

3.字符串函数

1)LOCATE,判断是否包含子字符串

2)SELECT SUBSTRING('abc11bbbb',1,1)  返回“a”

-- 创建函数
DELIMITER //
CREATE FUNCTION fn_add(i INT,j INT)
RETURNS INT
BEGIN
RETURN i+j; END //
DELIMITER ; -- 创建函数
DELIMITER //
CREATE FUNCTION fn_add2(i INT,j INT)
RETURNS INT
BEGIN
-- 声明参数
DECLARE k INT;
SET k=;
RETURN i+j+k;
END //
DELIMITER ; SELECT fn_add2(,) AS 'add';

4.字符串、日期转换

SELECT STR_TO_DATE('2018-02-1 11:23:34','%Y-%m-%d %H:%i:%S')
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%S')

5.转换函数

参考:https://www.cnblogs.com/conanwang/p/5917416.html

6.自定义函数

DELIMITER $$

USE `retailking`$$

DROP FUNCTION IF EXISTS `GetAllPriceByCaseNumId`$$

CREATE DEFINER=`root`@`%` FUNCTION `GetAllPriceByCaseNumId`(casenumid INT,registrationid VARCHAR(32)) RETURNS DECIMAL(8,2)
BEGIN
-- 获取病例的总金额
-- 撤单的,不能计算在内
DECLARE ActualMoney DECIMAL(8,2) DEFAULT 0;
DECLARE price DECIMAL(8,2) ; SELECT IFNULL(SUM(hc.`ActualMoney`),0) INTO price FROM posregister hc WHERE hc.`Id`=registrationid AND hc.`PayState`!=4; -- 挂号
SET ActualMoney = ActualMoney + price; SELECT IFNULL(SUM(hc.`ActualMoney`),0) INTO price FROM hischeck hc WHERE hc.`CaseNumId`=casenumid AND hc.`PayState`!=4; -- 检查化验
SET ActualMoney = ActualMoney + price; SELECT IFNULL(SUM(hc.`ActualMoney`),0) INTO price FROM hisdispose hc WHERE hc.`CaseNumId`=casenumid AND hc.`PayState`!=4; -- 处置耗材
SET ActualMoney = ActualMoney + price; SELECT IFNULL(SUM(hc.`ActualMoney`),0) INTO price FROM `hisprescription` hc WHERE hc.`CaseNumId`=casenumid AND hc.`PayState`!=4; -- 处方
SET ActualMoney = ActualMoney + price; RETURN ActualMoney;
END$$ DELIMITER ;

MySQL 基础三 函数(聚合、字符串、时间、条件判断)的更多相关文章

  1. 04 mysql 基础三 (进阶)

    mysql 基础三 阶段一 mysql 单表查询 1.查询所有记录 select * from department; ​ select * from student; ​ select * from ...

  2. mysql基础三(视图、触发器、函数、存储过程、事务、防注入)

    一.视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用. 1.创建视图 -格式:CREATE ...

  3. C语言基础 - read()函数读取文本字节导致判断失误的问题

    工作了几个月,闲着没事又拿起了经典的C程序设计看了起来,看到字符计数一节时想到用read()去读文本作为字符输入,一切OK,直到行计数时问题出现 了,字符总计数没有问题,可行计算就是进行不了,思考了半 ...

  4. 1.4 Python基础知识 - 代码书写格式及条件判断"if ... else ..."

    一.代码的书写规则 在所有的开发语言中,代码之间都是有关联的关系,有的是包含关系,有的是上下级关系,有的是代表语句的结束.在python中也是有相应的规则的: 1.在没有上下级关系的代码中,代码要顶行 ...

  5. mysql基础(三)——中级查询

    创建表 CREATE TABLE DEPT( DEPTNO ) PRIMARY KEY, DNAME ) , LOC ) ) ; ,'ACCOUNTING','NEW YORK'); ,'RESEAR ...

  6. Python基础三. 函数、lambda、filter、map、reduce

    一.概述 函数, 就是用一些语句组织起来实现一组特定的功能, 用来重复调用. 函数的作用及意义:最大化的重用代码和最小化的代码冗余以及对流程的分解. Python中有哪些函数: 内建的函数 第三方模块 ...

  7. MySQL基础--字符函数

    1.UPPER和UCASE返回字符串str,根据当前字符集映射(缺省是ISO-8859-1 Latin1)把所有的字符改变成大写.该函数对多字节是可靠的. 2.LOWER和LCASE返回字符串str, ...

  8. Mysql基础(三)

    #DML语言 /* 数据操作语言 插入:insert insert into 表名(列名,...) values(值1,...); insert into 表名 set 列名=值, 列名=值,... ...

  9. SqlSever基础 Upper函数 返回字符串的大写形式

    镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...

随机推荐

  1. Django + Mysql 中关于时间异常返回500错误的解决

    问题描述: 最近在阿里云部署 Django(1.11.x) 时,在后台发布文章后,页面返回 500 异常. 刚开始的时候,遇到这个问题一脸懵逼,不知道该如何入手.后来把 settings.py 中 D ...

  2. Java String的简单介绍

    一.String类的构造方法(先粗略介绍三种 分别是s1,s2,s3) 二.String的常用判断方法 三.String类的常用获取方法 三.Sting的常用转换方法 四.String其他功能   五 ...

  3. Mybatis逆向工程生成po、mapper接口、mapper.xml

    Mybatis逆向工程生成po.mapper接口.mapper.xml 一.新建一个maven工程 请查看我的另一篇博客:<使用idea创建一个maven工程> 二.引入所需依赖 需要my ...

  4. 2018-01-11 Antlr4实现数学四则运算

    中文编程知乎专栏原文地址 基本参考https://pragprog.com/book/tpantlr2/the-definitive-antlr-4-reference 一书"Buildin ...

  5. 你的BI应用处于什么阶段?解读Gartner BI成熟度模型

    文 | 帆软数据应用研究院 水手哥 本文出自:知乎专栏<帆软数据应用研究院>——数据干货&资讯集中地   无论国内还是国外,多数企业的BI和分析平台建设之路并不平坦:一是对自身的环 ...

  6. Linux 操作系统下为网卡配置ip

    Linux操作系统下为网卡配置ip by:授客 QQ:1033553122 1.   Linux单一网卡设置多IP的配置方法 在Linux下网卡接口逻辑名被称为eth0,eth1,eth2,..... ...

  7. 浅谈 Mysql 中的索引

    文章归属:http://feiyan.info/16.html,我想自己去写了,但是发现此君总结的非常详细.直接搬过来了 关于MySQL索引的好处,如果正确合理设计并且使用索引的MySQL是一辆兰博基 ...

  8. [20180319]直接路径读特例12c.txt

    [20180319]直接路径读特例12c.txt --//昨天的测试突然想起以前遇到的直接路径读特例,在12c重复测试看看. 1.环境:SCOTT@test01p> @ ver1 PORT_ST ...

  9. datatable 列名重新排序

    1. DataTable.Columns["MONEY"].SetOrdinal[4]; 2.dt = dt.DefaultView.ToTable(false, listarr. ...

  10. Python基础知识:函数

    1.定义函数和调用函数 #定义函数def def greet_user(username): '''简单的问候语''' print('Hello,%s!'%username) greet_user(' ...