mysql日期函数

MySQL基础篇(03):系统和自定义函数总结,触发器使用详解

。_饼干妹妹 提交于 2020-01-04 00:39:05
本文源码: GitHub·点这里 || GitEE·点这里 一、系统封装函数 MySQL 有很多内置的函数,可以快速解决开发中的一些业务需求,大概包括流程控制函数,数值型函数、字符串型函数、日期时间函数、聚合函数等。以下列出了这些分类中常用的函数。 1、控制流程函数 case...when 根据值判断返回值,类比编程中的IF-ELSE判断。 -- DEMO 01 SELECT CASE DATE_FORMAT(NOW(),'%Y-%m-%d') WHEN '2019-12-29' THEN 'today' WHEN '2019-12-28' THEN 'yesterday' WHEN '2019-12-30' THEN 'tommor' ELSE 'Unknow' END; -- DEMO 02 SELECT (CASE WHEN 1>0 THEN 'true' ELSE 'false' END) AS result; if(expr1,expr2,expr3) 如果表达式 expr1 是TRUE,则 IF()的返回值为expr2; 否则返回值则为 expr3。 SELECT IF(1>2,'1>2','1<2') AS result ; SELECT IF(1<2,'yes ','no') AS result ; SELECT IF(STRCMP('test','test'),

mysql高级内容

你离开我真会死。 提交于 2020-01-01 07:40:27
一. 创建一个数据库 创建成绩表scores,结构如下 id 学生 科目 成绩 思考:学生列应该存什么信息呢? 答:学生列的数据不是在这里新建的,而应该从学生表引用过来,关系也是一条数据;根据范式要求应该存储学生的编号,而不是学生的姓名等其它信息 同理,科目表也是关系列,引用科目表中的数据 创建表的语句如下 create table scores( id int primary key auto_increment, stuid int, subid int, score decimal(5,2) ); 二. 外键 思考:怎么保证关系列数据的有效性呢?任何整数都可以吗? 答:必须是学生表中id列存在的数据,可以通过外键约束进行数据的有效性验证 为stuid添加外键约束 alter table scores add constraint stu_sco foreign key(stuid) references students(id); 此时插入或者修改数据时,如果stuid的值在students表中不存在则会报错 在创建表时可以直接创建约束 create table scores( id int primary key auto_increment, stuid int, subid int, score decimal(5,2), foreign key(stuid)

MySQL之day5

喜你入骨 提交于 2020-01-01 05:46:52
函数 函数种类:   算术函数 字符串函数 日期函数 转换函数 聚合函数 1. 算术函数   + - * /   abs  --绝对值   mod(被除数,除数)  --求余   round(对象数值, 保留小数位数)  --四舍五入 2. 字符串函数   concat(str, str2 ,...)  -- 字符串拼接   length(字符串)  --计算长度        注意: 中文一个字相当于两个字节,一个半角字符一个字节          没有SQL 还有 char_length()函数   lower(字符串)   upper()   replace(对象字符,替换前字符,替换后字符)   substring(对象字符串 from 截取的起始位置 for 截取的字符数 ) 3. 日期函数 mysql> select current_date; +--------------+ | current_date | +--------------+ | 2019-07-08 | +--------------+ 1 row in set (0.03 sec) mysql> select current_time; +--------------+ | current_time | +--------------+ | 10:38:43 | +--------------+

MySQL与Oracle 差异比较之三函数

馋奶兔 提交于 2020-01-01 05:46:41
函数 编号 类别 ORACLE MYSQL 注释 1 数字函数 round(1.23456,4) round(1.23456,4) 一样: ORACLE : select round(1.23456,4) value from dual MYSQL :select round(1.23456,4) value 2 abs(-1) abs(-1) 功能 : 将当前数据取绝对值 用法 : oracle 和 mysql 用法一样 mysql: select abs(-1) value oracle: select abs(-1) value from dual 3 ceil(-1.001)) ceiling(-1.001) 功能 : 返回不小于 X 的最小整数 用法 : mysqls: select ceiling(-1.001) value oracle: select ceil(-1.001) value from dual 4 floor(-1.001) floor(-1.001) 功能 : 返回不大于 X 的最大整数值 用法 : mysql: select floor(-1.001) value oracle: select floor(-1.001) value from dual 5 Max(expr)/Min(expr) Max(expr)/Min(expr) 功能 :

Mysql-7-mysql函数

情到浓时终转凉″ 提交于 2020-01-01 05:46:01
1.数学函数 用来处理数值数据方面的运算,主要的数学函数有:绝对值函数,三角函数,对数函数,随机函数。使用数学函数过程中,如果有错误产生,该函数会返回null值。 数学函数 功能介绍 组合键 abs(x) 返回 x 的绝对值 整数本身 pi () 返回圆周率 返回 pa 的值,默认显示 6 位 sqrt ( x ) 返回非负数 x 的二次方根 如为负数,返回 null mod(x,y) 返回 x/y 的模,即相除余数 ceil(x) 和 ceiling( x) 先这两个函数功能相同,返回不小于 x 的最小整数值 注意正负数及小数和整数的区别 floor ( x ) 返回不大于 x 的最大整数值 rand () 返回一个随机浮点值 v ,0<=v<=1 rand(x) 返回一个随机浮点值 v ,0<=v<=1,参数 x 为整数 ,被用作种子值,用来产生重复序列 round ( x ) 返回最接近参数 x 的整数,对 x 进行四舍五入 此函数返回值为整数 round(x,y) 返回最接近参数 x 的值,此值保留到小数点后面 y 位 如果参数取负值,则将小数点保留左边 y 位 truncate(x,y) 返回截去小数点后 y 位的数值 x sign ( x ) 返回参数 x 的符号 x 值为负 ,返回-1; 0 为 0 ;正,返回 1. pow ( x,y ) 返回 x 的 y

mysql_函数

有些话、适合烂在心里 提交于 2020-01-01 05:45:44
MySQL 函数 ( http://www.cnblogs.com/chenpi/p/5137178.html ) 1. 什么是函数 mysql中的函数与存储过程类似,都是一组SQL集; 2. 与存储过程的区别 函数可以 return 值,存储过程不能直接 return ,但是有输出参数可以输出多个返回值; 函数可以嵌入到 sql 语句中使用,而存储过程不能; 函数一般用于实现较简单的有针对性的功能(如求绝对值、返回当前时间等),存储过程用于实现复杂的功能(如复杂的业务逻辑功能); 3. 常见函数() 1 ) ABS(x) 返回 x 的绝对值 ( 2 ) PI() 返回圆周率 π ,默认显示 6 位小数 ( 3 ) SQRT(x) 返回非负数的 x 的二次方根 ( 4 ) MOD(x,y) 返回 x 被 y 除后的余数 ( 5 ) CEIL(x) 、 CEILING(x) 返回不小于 x 的最小整数 ( 6 ) FLOOR(x) 返回不大于 x 的最大整数 ( 7 ) ROUND(x) 、 ROUND(x,y) 前者返回最接近于 x 的整数,即对 x 进行四舍五入;后者返回最接近 x 的数,其值保留到小数点后面 y 位,若 y 为负值,则将保留到 x 到小数点左边 y 位 ( 8 ) SIGN(x) 返回参数 x 的符号, -1 表示负数, 0 表示 0 , 1 表示正数 ( 9

MySQL函数大全

喜你入骨 提交于 2020-01-01 05:43:46
MySQL 的一些函数及用法示例。 转自:http://www.cnblogs.com/shouce/p/5087662.html 字符串函数 ASCII(str)  返回字符串str的第一个字符的ASCII值(str是空串时返回0) mysql> select ASCII('2');   -> 50 mysql> select ASCII(2);   -> 50 mysql> select ASCII('dete');   -> 100 ORD(str)  如果字符串str句首是单字节返回与ASCII()函数返回的相同值。  如果是一个多字节字符,以格式返回((first byte ASCII code) *256+(second byte ASCII code))[*256+third byte ASCII code...] mysql> select ORD('2');   -> 50 CONV(N,from_base,to_base)  对数字N进制转换,并转换为字串返回(任何参数为NULL时返回 NULL,进制范围为2-36进制,当to_base是负数时N作为有符号数否则 作无符号数,CONV以64位点精度工作) mysql> select CONV("a",16,2);   -> '1010' mysql> select CONV("6E",18,8);   ->

MYSQL函数大全

家住魔仙堡 提交于 2020-01-01 05:43:11
1、字符串函数 ascii(str) 返回字符串str的第一个字符的ascii值(str是空串时返回0) ord(str) 如果字符串str句首是单字节返回与ascii()函数返回的相同值。 如果是一个多字节字符 [各国从ANSI标准派生出来的字符] ,以格式返回((first byte ascii code)*256+(second byte ascii code))[*256+third byte asciicode...] conv(n,from_base,to_base) 对数字n进制转换,并转换为字串返回(任何参数为null时返回null,进制范围为2-36进制,当to_base是负数时n作为有符号数否则作无符号数,conv以64位点精度工作) bin(n) 把n转为二进制值并以字串返回(n是bigint数字,等价于conv(n,10,2)) oct(n) 把n转为八进制值并以字串返回(n是bigint数字,等价于conv(n,10,8)) hex(n) 把n转为十六进制并以字串返回(n是bigint数字,等价于conv(n,10,16)) char(n,...) 返回由参数n,...对应的ascii代码字符组成的一个字串(参数是n,...是数字序列,null值被跳过) select char(77,121,83,81,'76') -> 'mysql' concat

转)MySQL日期与时间函数

三世轮回 提交于 2020-01-01 05:42:28
-- MySQL日期时间处理函数 -- 当前日期:2017-05-12(突然发现今天512,是不是会拉防空警报) SELECT NOW() FROM DUAL;-- 当前日期时间:2017-05-12 11:41:47 -- 在MySQL里也存在和Oracle里类似的dual虚拟表:官方声明纯粹是为了满足select ... from...这一习惯问题,mysql会忽略对该表的引用。 -- 那么MySQL中就不用DUAL了吧。 SELECT NOW();-- 当前日期时间:2017-05-12 11:41:55 -- 除了 now() 函数能获得当前的日期时间外,MySQL 中还有下面的函数: SELECT CURRENT_TIMESTAMP();-- 2017-05-15 10:19:31 SELECT CURRENT_TIMESTAMP;-- 2017-05-15 10:19:51 SELECT LOCALTIME();-- 2017-05-15 10:20:00 SELECT LOCALTIME;-- 2017-05-15 10:20:10 SELECT LOCALTIMESTAMP();-- 2017-05-15 10:20:21(v4.0.6) SELECT LOCALTIMESTAMP;-- 2017-05-15 10:20:30(v4.0.6) -- 这些日期时间函数

MySQL常用函数大全

断了今生、忘了曾经 提交于 2020-01-01 05:41:27
一、数学函数 ABS(x) 返回x的绝对值 BIN(x)返回x的二进制(OCT返回八进制,HEX返回十六进制) CEILING(x) 返回大于x的最小整数值 EXP(x)返回值e(自然对数的底)的x次方 FLOOR(x)返回小于x的最大整数值 GREATEST(x1,x2,...,xn)返回集合中最大的值 LEAST(x1,x2,...,xn) 返回集合中最小的值 LN(x) 返回x的自然对数 LOG(x,y)返回x的以y为底的对数 MOD(x,y) 返回x/y的模(余数) PI()返回pi的值(圆周率) RAND()返回0到1内的随机值,可以通过提供一个参数(种子)使RAND()随机数生成器生成一个指定的值。 ROUND(x,y)返回参数x的四舍五入的有y位小数的值 SIGN(x) 返回代表数字x的符号的值 SQRT(x) 返回一个数的平方根 TRUNCATE(x,y) 返回数字x截短为y位小数的结果 二、聚合函数(常用于GROUP BY从句的SELECT查询中) AVG(col)返回指定列的平均值 COUNT(col)返回指定列中非NULL值的个数 MIN(col)返回指定列的最小值 MAX(col)返回指定列的最大值 SUM(col)返回指定列的所有值之和 GROUP_CONCAT(col) 返回由属于一组的列值连接组合而成的结果 三、字符串函数 ASCII(char