mysql日期函数

【转】 mysql格式化日期

社会主义新天地 提交于 2020-04-07 17:52:34
原文地址: https://www.cnblogs.com/shuilangyizu/p/8036620.html mysql查询记录如果有时间戳字段时,查看结果不方便,不能即时看到时间戳代表的含义,现提供mysql格式换时间函数,可以方便的看到格式化后的时间。 1. DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。 DATE_FORMAT(date,format) format参数的格式有 %a 缩写星期名 %b 缩写月名 %c 月,数值 %D 带有英文前缀的月中的天 %d 月的天,数值(00-31) %e 月的天,数值(0-31) %f 微秒 %H 小时 (00-23) %h 小时 (01-12) %I 小时 (01-12) %i 分钟,数值(00-59) %j 年的天 (001-366) %k 小时 (0-23) %l 小时 (1-12) %M 月名 %m 月,数值(00-12) %p AM 或 PM %r 时间,12-小时(hh:mm:ss AM 或 PM) %S 秒(00-59) %s 秒(00-59) %T 时间, 24-小时 (hh:mm:ss) %U 周 (00-53) 星期日是一周的第一天 %u 周 (00-53) 星期一是一周的第一天 %V 周 (01-53) 星期日是一周的第一天,与 %X 使用 %v 周 (01-53)

MYSQL 中常用日期时间函数使用

ぐ巨炮叔叔 提交于 2020-04-06 07:14:31
MySQL Date 函数 下面的表格列出了 MySQL 中最重要的内建日期函数: 函数 描述 NOW() 返回当前的日期和时间 CURDATE() 返回当前的日期 CURTIME() 返回当前的时间 DATE() 提取日期或日期/时间表达式的日期部分 EXTRACT() 返回日期/时间按的单独部分 DATE_ADD() 给日期添加指定的时间间隔 DATE_SUB() 从日期减去指定的时间间隔 DATEDIFF() 返回两个日期之间的天数 DATE_FORMAT() 用不同的格式显示日期/时间 SELECT NOW ();/*2013-10-25 15:24:12*/ SELECT UNIX_TIMESTAMP ();/*1382685853*/ SELECT from_unixtime (137123321); /* 1974-05-07 09:48:41 */ SELECT from_unixtime (xtimestamp) as aa FROM TEST; SELECT UNIX_TIMESTAMP ('2013-09-09 12:12:12'); /*1378699932*/ select adddate ('2013-09-09 12:12:12',1);/*2013-09-10 12:12:12*/ DECLARE @orderdate int; #set

MySql日期与时间函数

浪子不回头ぞ 提交于 2020-04-06 07:00:47
mysqldump -uroot -haliyuncs.com -p2018 xb_data event_record -w " date ( event_date ) <= date_sub (curdate(),interval 7 day)" 按event_date时间字段备份七天之前的数据 select DATE_FORMAT(date_sub(current_date(), interval 1 day), '%Y-%m-%d') -- 2018-05-29(昨天) select DATE_FORMAT(date_sub(current_date(), interval 31 day), '%Y-%m-%d 00:00:00' ) -- 2018-04-29 00:00:00 select DATE_SUB(current_date, INTERVAL 35 DAY) -- 2018-04-25 -- MySQL日期时间处理函数 -- 当前日期:2017-05-12(突然发现今天512,是不是会拉防空警报) SELECT NOW() FROM DUAL;-- 当前日期时间:2017-05-12 11:41:47 -- 在MySQL里也存在和Oracle里类似的dual虚拟表:官方声明纯粹是为了满足select ... from...这一习惯问题

Mysql基础03-函数

荒凉一梦 提交于 2020-04-01 00:22:18
函数 字符串函数 函数 用法 CONCAT(S1,S2,......,Sn) 连接S1,S2,......,Sn为一个字符串 CONCAT_WS(s, S1,S2,......,Sn) 同CONCAT(s1,s2,...)函数,但是每个字符串之间要加上s CHAR_LENGTH(s) 返回字符串s的字符数 LENGTH(s) 返回字符串s的字节数,和字符集有关 INSERT(str, index , len, instr) 将字符串str从第index位置开始,len个字符长的子串替换为字符串instr UPPER(s) 或 UCASE(s) 将字符串s的所有字母转成大写字母 LOWER(s) 或LCASE(s) 将字符串s的所有字母转成小写字母 LEFT(s,n) 返回字符串s最左边的n个字符 RIGHT(s,n) 返回字符串s最右边的n个字符 LPAD(str, len, pad) 用字符串pad对str最左边进行填充,直到str的长度为len个字符 RPAD(str ,len, pad) 用字符串pad对str最右边进行填充,直到str的长度为len个字符 LTRIM(s) 去掉字符串s左侧的空格 RTRIM(s) 去掉字符串s右侧的空格 TRIM(s) 去掉字符串s开始与结尾的空格 TRIM(【BOTH 】s1 FROM s) 去掉字符串s开始与结尾的s1 TRIM(

MySQL:MySQL日期数据类型、MySQL时间类型使用总结

梦想的初衷 提交于 2020-03-28 07:39:03
MySQL 日期类型:日期格式、所占存储空间、日期范围 比较。 日期类型 存储空间 日期格式 日期范围 ------------ --------- --------------------- ----------------------------------------- datetime 8 bytes YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 timestamp 4 bytes YYYY-MM-DD HH:MM:SS 1970-01-01 00:00:01 ~ 2038 date 3 bytes YYYY-MM-DD 1000-01-01 ~ 9999-12-31 year 1 bytes YYYY 1901 ~ 2155 在 MySQL 中创建表时,对照上面的表格,很容易就能选择到合适自己的数据类型。不过到底是选择 datetime 还是 timestamp,可能会有点犯难。这两个日期时间类型各有优点:datetime 的日期范围比较大;timestamp 所占存储空间比较小,只是 datetime 的一半。 另外,timestamp 类型的列还有个特性:默认情况下,在 insert, update 数据时,timestamp 列会自动以当前时间(CURRENT_TIMESTAMP)填充

MySQL数据类型与优化

泄露秘密 提交于 2020-03-26 21:20:15
原创itcats_cn 最后发布于2019-11-07 22:07:01 阅读数 713 收藏 展开 关于数据类型的优化 1、假如只需要存0~255之间的数,无负数,应使用tinyint unsigned(保证最小数据类型) 2、如果长度不可定,如varchar,应该选择一个你认为不会超过范围的最小类型 比如: varchar(20),可以存20个中文、英文、符号,不要无脑使用varchar(150) 3、整形比字符操作代价更低。比如应该使用MySQL内建的类型(date/time/datetime)而不是字符串来存储日期和时间 4、应该使用整形存储IP地址,而不是字符串 5、尽量避免使用NULL,通常情况下最好指定列为NOT NULL,除非真的要存储NULL值 6、DATETIME和TIMESTAMP列都可以存储相同类型的数据:时间和日期,且精确到秒。然而TIMESTAMP只使用DATETIME一半的内存空间,并且会根据时区变化,具有特殊的自动更新能力。另一方面,TIMESTAMP允许的时间范围要小得多,有时候它的特殊能力会变成障碍 整数类型 1、TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT分别使用8(-127~127或0~255)、16(0~65535)、24(0~1600万)、32、64位存储空间。 2、整数类型有可选的UNSIGNED属性

MySQL时间相关操作

為{幸葍}努か 提交于 2020-03-24 14:06:58
本文主要介绍MySQL使用过程中有关时间处理的相关操作: MySQL时间更新(加上或减去一段时间) MySQL毫秒数和日期之间的转换 一、MySQL时间更新(加上或减去一段时间) 1.1 MySQL时间加减函数 DATE_ADD() 函数向日期添加指定的时间间隔; DATE_SUB() 函数向日期减少指定的时间间隔。 1.2 使用实例 (1) 以当前时间为基准,为日期增加一个时间间隔 select date_add(now(), interval 1 day); //加1天 select date_add(now(), interval 1 hour); //加1小时 select date_add(now(), interval 1 minute); //加1分钟 select date_add(now(), interval 1 second); //加1秒 select date_add(now(), interval 1 microsecond); //加1毫秒 select date_add(now(), interval 1 week);   //加1周 select date_add(now(), interval 1 month);   //加1月 select date_add(now(), interval 1 quarter); //加1季 select

自学书籍.MySQL必知必会

自古美人都是妖i 提交于 2020-03-23 12:19:53
3 月,跳不动了?>>> 文本处理类函数: mysql> SELECT UPPER('Hej'); -> 'HEJ' 说明:转换为大写 mysql> SELECT LEFT('foobarbar', 5); -> 'fooba' 说明:从左取字串 mysql> SELECT LENGTH('text'); -> 4 说明:返回串的长度 mysql> SELECT LOCATE('bar', 'foobarbar'); -> 4 mysql> SELECT LOCATE('xbar', 'foobar'); -> 0 mysql> SELECT LOCATE('bar', 'foobarbar', 5); -> 7 说明:查找字串位置 mysql> SELECT LOWER('QUADRATICALLY'); -> 'quadratically' 说明:转换串为小写 mysql> SELECT LTRIM(' barbar'); -> 'barbar' 说明:清除串左边空白 mysql> SELECT RTRIM('barbar '); -> 'barbar' 说明:清除串右边空白 mysql> SELECT TRIM(' bar '); -> 'bar' mysql> SELECT TRIM(LEADING 'x' FROM 'xxxbarxxx'); -> 'barxxx'

MySQL学习笔记

核能气质少年 提交于 2020-03-22 00:02:09
关于MySQL日期操作函数 date_formate 的使用 基本语法: DATE_FORMAT(date,format) 说明:date 参数是合法的日期。format 规定日期/时间的输出格式。 可以用的格式主要有 格式 描述 %a 缩写星期名 %b 缩写月名 %c 月,数值 %D 带有英文前缀的月中的天 %d 月的天,数值(00-31) %e 月的天,数值(0-31) %f 微秒 %H 小时 (00-23) %h 小时 (01-12) %I 小时 (01-12) %i 分钟,数值(00-59) %j 年的天 (001-366) %k 小时 (0-23) %l 小时 (1-12) %M 月名 %m 月,数值(00-12) %p AM 或 PM %r 时间,12-小时(hh:mm:ss AM 或 PM) %S 秒(00-59) %s 秒(00-59) %T 时间, 24-小时 (hh:mm:ss) %U 周 (00-53) 星期日是一周的第一天 %u 周 (00-53) 星期一是一周的第一天 %V 周 (01-53) 星期日是一周的第一天,与 %X 使用 %v 周 (01-53) 星期一是一周的第一天,与 %x 使用 %W 星期名 %w 周的天 (0=星期日, 6=星期六) %X 年,其中的星期日是周的第一天,4 位,与 %V 使用 %x 年,其中的星期一是周的第一天,4 位,与

十一、MySQL 插入数据

喜夏-厌秋 提交于 2020-03-21 14:53:17
MySQL 插入数据 MySQL 表中使用 INSERT INTO SQL语句来插入数据。 你可以通过 mysql> 命令提示窗口中向数据表中插入数据,或者通过PHP脚本来插入数据。 语法 以下为向MySQL数据表插入数据通用的 INSERT INTO SQL语法: INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( value1, value2,...valueN ); 如果数据是字符型,必须使用单引号或者双引号,如:"value"。 通过命令提示窗口插入数据 以下我们将使用 SQL INSERT INTO 语句向 MySQL 数据表 runoob_tbl 插入数据 实例 以下实例中我们将向 runoob_tbl 表插入三条数据: root@host# mysql -u root -p password; Enter password:******* mysql> use RUNOOB; Database changed mysql> INSERT INTO runoob_tbl -> (runoob_title, runoob_author, submission_date) -> VALUES -> ("学习 PHP", "菜鸟教程", NOW()); Query OK, 1 rows affected,