date函数

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与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) -- 这些日期时间函数

SQL

自作多情 提交于 2020-01-01 00:30:14
【1】film表 字段 说明 film_id 电影id title 电影名称 description 电影描述信息 category表 字段 说明 category_id 电影分类id name 电影分类名称 last_update 电影分类最后更新时间 film_category表 字段 说明 film_id 电影id category_id 电影分类id last_update 电影id和分类id对应关系的最后更新时间 查找描述信息中包括robot的电影对应的分类名称以及电影数目,而且还需要该分类对应电影数量>=5部 说明:cc是一个虚表,因为虚表cc是按category_id进行了分组,这意味着每个category_id分类下只返回一条数据,所以无法替代film_category表来做为连接表 select c . name , count ( c . name ) from ( select category_id , count ( film_id ) as s from film_category group by category_id having s >= 5 ) as cc , category c , film f , film_category fc where f . film_id = fc . film_id and c . category_id =

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

浪尽此生 提交于 2019-12-31 08:06:21
本文源码: 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'),

月份获取

我只是一个虾纸丫 提交于 2019-12-31 05:44:38
获取本月日期: 复制代码 代码如下: function getMonth($date){ $firstday = date("Y-m-01",strtotime($date)); $lastday = date("Y-m-d",strtotime("$firstday +1 month -1 day")); return array($firstday,$lastday); } $firstday是月份的第一天,假如$date是2014-2这样的话,$firstday就会是2014-02-01,然后根据$firstday加一个月就是2014-03-01,再减一天就是2014-02-28,用date()和strtotime()真是太方便了。   获取上月日期: 复制代码 代码如下: function getlastMonthDays($date){ $timestamp=strtotime($date); $firstday=date('Y-m-01',strtotime(date('Y',$timestamp).'-'.(date('m',$timestamp)-1).'-01')); $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day")); return array($firstday,$lastday); }