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. 如何把string转换char*类型

    需要调用string头文件  ( #include<string> ) 用string里的函数c_str()可以把string转换为char* 例如 char * c_str2=str1. ...

  2. 微信跳一跳Python辅助无需配置一键操作

    作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/8350329.html 邮箱:moyi@moyib ...

  3. canvas-star0.html

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. CentOS 7.4下使用yum安装MySQL5.7.20 最简单的

    CentOS7默认数据库是mariadb, 但是 好多用的都是mysql ,但是CentOS7的yum源中默认好像是没有mysql的. 上一篇安装的是5.6的但是我想安装5.7的  yum安装是最简单 ...

  5. php使用PHPexcel类读取excel文件(循环读取每个单元格的数据)

    error_reporting(E_ALL); date_default_timezone_set('Asia/ShangHai'); include_once('Classes/PHPExcel/I ...

  6. python内置小工具

    python -m http.server # 启动一个下载服务器 echo '{"job": "developer", "job": &q ...

  7. 利用trie树实现前缀输入提示及trie的python实现

    代码来自https://github.com/wklken/suggestion/blob/master/easymap/suggest.py 还实现了缓存功能,搜索某个前缀超过一定次数时,进行缓存, ...

  8. element-ui的回调函数Events的用法

    做轮播的时候想用这个change回调函数,但是官方文档上竟然就只列了这么一行东西,完全没有示例代码(也可能我没找到哈) 鼓捣了半天,东拼西凑终于找到了靠谱的使用方法,其实很简单 在轮播组件上加上@ch ...

  9. 安全之路 —— C/C++实现利用添加注册表项实现文件自启动

    简介 添加注册表项是实现文件自启动的经典方法之一,但因为操作注册表项是一个敏感操作,被报毒可能性较大,但即便如此,这个方法还是值得一学的,因为后期大部分编程都涉及到注册表操作. 最常使用到的注册表项有 ...

  10. Django框架的使用教程--类视图-中间间-模板[六]

    类视图 类视图的使用 视图函数 class class_view(View): """类视图""" def get(self, reques ...