MySQL 基础三 函数(聚合、字符串、时间、条件判断)
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 基础三 函数(聚合、字符串、时间、条件判断)的更多相关文章
- 04 mysql 基础三 (进阶)
mysql 基础三 阶段一 mysql 单表查询 1.查询所有记录 select * from department; select * from student; select * from ...
- mysql基础三(视图、触发器、函数、存储过程、事务、防注入)
一.视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用. 1.创建视图 -格式:CREATE ...
- C语言基础 - read()函数读取文本字节导致判断失误的问题
工作了几个月,闲着没事又拿起了经典的C程序设计看了起来,看到字符计数一节时想到用read()去读文本作为字符输入,一切OK,直到行计数时问题出现 了,字符总计数没有问题,可行计算就是进行不了,思考了半 ...
- 1.4 Python基础知识 - 代码书写格式及条件判断"if ... else ..."
一.代码的书写规则 在所有的开发语言中,代码之间都是有关联的关系,有的是包含关系,有的是上下级关系,有的是代表语句的结束.在python中也是有相应的规则的: 1.在没有上下级关系的代码中,代码要顶行 ...
- mysql基础(三)——中级查询
创建表 CREATE TABLE DEPT( DEPTNO ) PRIMARY KEY, DNAME ) , LOC ) ) ; ,'ACCOUNTING','NEW YORK'); ,'RESEAR ...
- Python基础三. 函数、lambda、filter、map、reduce
一.概述 函数, 就是用一些语句组织起来实现一组特定的功能, 用来重复调用. 函数的作用及意义:最大化的重用代码和最小化的代码冗余以及对流程的分解. Python中有哪些函数: 内建的函数 第三方模块 ...
- MySQL基础--字符函数
1.UPPER和UCASE返回字符串str,根据当前字符集映射(缺省是ISO-8859-1 Latin1)把所有的字符改变成大写.该函数对多字节是可靠的. 2.LOWER和LCASE返回字符串str, ...
- Mysql基础(三)
#DML语言 /* 数据操作语言 插入:insert insert into 表名(列名,...) values(值1,...); insert into 表名 set 列名=值, 列名=值,... ...
- SqlSever基础 Upper函数 返回字符串的大写形式
镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...
随机推荐
- Java的适配器模式
所谓适配器模式,其实很简单,就是将一个类的接口转换成客户端所期待的另一个接口,使得原本不兼容的两个类可以一起工作. 假设我们有一个Type-c接口,但是要使用的接口确实usb的接口,这时候要怎么办呢? ...
- 实现Java Socket 客户端服务端交互实例
SocketService.java package socket; import java.io.BufferedReader; import java.io.IOException; import ...
- 如何判断页面是pc端还是移动端,进入不同的页面
vue判断是pc端还是移动端分别进入不同的页面 判断移动端代码如下: function IsPC(){ var userAgentInfo = navigator.userAgent; var Age ...
- pygame中模块说明
参考博客:https://blog.csdn.net/qq_27717921/article/details/53231762 pygame模块概览 1.display模块 功能:生成windows窗 ...
- Android--获取高清的app图标
只有一个方法. public synchronized static Drawable getIconFromPackageName(String packageName, Context conte ...
- 03-openldap服务端安装配置
openldap服务端安装配置 阅读目录 基础环境准备 安装openldap服务端 初始化openldap配置 启动OpenLDAP 重新生成配置文件信息 规划OpenLDAP目录树组织架构 使用GU ...
- Arch Linux 更新源(以清华 arch 源为例)
Arch Linux 编辑/etc/pacman.d/mirrorlist,在文件最顶端添加: Server = https://mirrors.tuna.tsinghua.edu.cn/archl ...
- MySQL使用索引的场景分析、不能使用索引的场景分析
一.MySQL中能够使用索引的典型场景 1.匹配全值.对索引中的列都有等值匹配的条件.即使是在and中,and前后的列都有索引并进行等值匹配. 2.匹配值的范围查询,对索引的值能够进行范围查找. 3. ...
- pt-query-digest详解慢查询日志(转)
一.简介 pt-query-digest是用于分析mysql慢查询的一个工具,它可以分析binlog.General log.slowlog,也可以通过SHOWPROCESSLIST或者通过tcpdu ...
- log4.net 配置 - StringMatchFilter过滤器的使用
当我们需要对log4输出的内容进行过滤时就需要使用到StringMatchFilter过滤器 它有两种工作模式: 1.字符串查找模式:只要消息内容包含指定字符串则符合过滤器规则. 2.正则表达式模式: ...