首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SQL进阶-6-时间函数及格式化处理

背景 在MySQL中存储数据的时候,很多情况下会存储与时间相关的数据。...本文中记录了在MySQL中如何进行时间数据的格式化 ?...DATE_ADD() 给日期添加指定的时间间隔 DATE_SUB() 从日期减去指定的时间间隔 DATEDIFF() 返回两个日期之间的天数 DATE_FORMAT() 用不同的格式显示日期/时间...(00-53) 星期日是一周的第一天 %u 周 (00-53) 星期一是一周的第一天 %V 周 (01-53) 星期日是一周的第一天,与 %X 使用 %v 周 (01-53) 星期一是一周的第一天,与...%x 使用 %W 星期名 %w 周的天 (0=星期日, 6=星期六) %X 年,其中的星期日是周的第一天,4 位,与 %V 使用 %x 年,其中的星期一是周的第一天,4 位,与 %v 使用 %Y 年,4

62620
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    细节、MYSQL_DATE_FORMAT()_函数_详解(记得收藏)

    (00-53) 星期日是一周的第一天 %u 周 (00-53) 星期一是一周的第一天 %V 周 (01-53) 星期日是一周的第一天,与 %X 使用 %v 周 (01-53) 星期一是一周的第一天,与...%x 使用 %W 星期名 %w 周的天 (0=星期日, 6=星期六) %X 年,其中的星期日是周的第一天,4 位,与 %V 使用 %x 年,其中的星期一是周的第一天,4 位,与 %v 使用 %Y 年,4...U 周(0, 1, 52),其中Sunday 为周中的第一天 %u 周(0, 1, 52),其中Monday 为周中的第一天 %M 月名(January, February, . . ., December...type关键词期望的间隔部分),MySQL假设你省掉了间隔值的最左面部分。...如果你增加MONTH、YEAR_MONTH或YEAR并且结果日期大于新月份的最大值天数,日子在新月用最大的天调整。

    2.2K20

    MySql时间函数

    ---------------------+ | 3 | +-------------------------+ 星期几:WEEKDAY(Date) 0=星期一...(00-53) 星期日是一周的第一天 %u 周 (00-53) 星期一是一周的第一天 %V 周 (01-53) 星期日是一周的第一天,与 %X 使用 %v 周 (01-53) 星期一是一周的第一天,与...%x 使用 %W 星期名 %w 周的天 (0=星期日, 6=星期六) %X 年,其中的星期日是周的第一天,4 位,与 %V 使用 %x 年,其中的星期一是周的第一天,4 位,与 %v 使用 %Y 年,4...maketime(13,13,13); -- 13:13:13 时间计算 时间增减 DATE_ADD(date,INTERVAL expr type) date参数是合法的日期表达式,epxr参数是希望添加的时间间隔...DAY_SECOND DAY_MINUTE DAY_HOUR YEAR_MONTH date_sub(date,INTERVAL expr type) 用法跟date_add相同,作用是减去指定的时间间隔

    5.2K40

    mysql中关于时间统计的sql语句总结

    两个参数形式的 WEEK() 允许你指定一周是否以星期日或星期一开始,以及返回值为 0-53 还是 1-52。...这里的一个表显示第二个参数是如何工作的: 值 含义 0 一周以星期日开始,返回值范围为 0-53 1 一周以星期一开始,返回值范围为 0-53 2 一周以星期日开始,返回值范围为 1-53 3 一周以星期一开始...注意,如果一周是上一年的最后一周,当你没有使用 2 或 3 做为可选参数时,MySQL 将返回 0: mysql> SELECT YEAR(’2000-01-01’), WEEK(’2000-01-01...expr 是一个表达式,指定从开始日期上增加还是减去间隔值。expr 是一个字符串;它可以以一个 “-” 领头表示一个负的间隔值。type 是一个关键词,它标志着表达式以何格式被解释。...周(0, 1, 52),其中Sunday 为周中的第一天 %u 周(0, 1, 52),其中Monday 为周中的第一天 %M 月名(January, February, . . ., December

    3.6K10

    Mysql查询一段时间记录

    两个参数形式的 WEEK() 允许你指定一周是否以星期日或星期一开始,以及返回值为 0-53 还是 1-52。...这里的一个表显示第二个参数是 如何工作的: 值 含义 0 一周以星期日开始,返回值范围为 0-53 1 一周以星期一开始,返回值范围为 0-53 2 一周以星期日开始...,返回值范围为 1-53 3 一周以星期一开始,返回值范围为 1-53 (ISO 8601) mysql> SELECT WEEK(’1998-02-20’); -> 7 mysql>...注意,如果一周是上一年的最后一周,当你没有使用 2 或 3 做为可选参数时, MySQL 将返回 0: mysql> SELECT YEAR(’2000-01-01’), WEEK(’2000-01-...expr 是一个表达式,指定从开始日期上增加还是减去间隔值。expr 是一个字符串;它可以以一个 “-” 领头表示一个 负的间隔值。type 是一个关键词,它标志着表达式以何格式被解释。

    4.9K10

    MYSQL语句大全

    MySQL 为日期增加一个时间间隔:date_add() set @dt = now(); select date_add(@dt, interval 1 day);   - 加1天 select date_add...MySQL 为日期减去一个时间间隔:date_sub() mysql> select date_sub('1998-01-01 00:00:00', interval '1 1:1:1' day_second...(00-53) 星期日是一周的第一天 %u 周 (00-53) 星期一是一周的第一天 %V 周 (01-53) 星期日是一周的第一天,与 %X 使用 %v 周 (01-53) 星期一是一周的第一天,与...%x 使用 %W 星期名 %w 周的天 (0=星期日, 6=星期六) %X 年,其中的星期日是周的第一天,4 位,与 %V 使用 %x 年,其中的星期一是周的第一天,4 位,与 %v 使用 %Y 年,4...查看用户权限 show grants for 'root'@'localhost'; 移除权限 revoke all on *.* from root@localhost; group by id 分组

    2.1K11

    MySQL的日期时间计算速查表

    最近写个SQL逻辑,涉及到计算各种日期和时间,MySQL提供了很丰富的函数来支持,记录一下,用的时候,有地方可查。...(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 位,与 %v 使用 %Y 年,4...(2)当关键词使用时,表示为设置时间间隔,常用在date_add()与date_sub()函数里,例如:interval 1 day ,解释为将时间间隔设置为1天。

    1.9K20

    MySQL中的时间函数用法集合

    mysql> select DAYOFWEEK('1998-02-03');   -> 3  WEEKDAY(date)   返回date的星期索引(0=星期一,1=星期二, ……6= 星期天)...mysql> select QUARTER('98-04-01');   -> 2 WEEK(date) WEEK(date,first)   对于星期天是一周的第一天的地方,有一个单个参数...2个参数形式WEEK()允许你指定星期是否开始于星期天或星期一。如果第二个参数是0,星期从星期天开始,如果第二个参数是1,从星期一开始。   ...如果你指定太短的间隔值(不包括type关键词期望的间隔部分),MySQL假设你省掉了间隔值的最左面部分。...如果你增加MONTH、YEAR_MONTH或YEAR并且结果日期大于新月份的最大值天数,日子在新月用最大的天调整。

    2.6K10

    盘点MySQL中常用的函数

    盘点MySQL中常用的函数 一、介绍 在平常使用MySQL的过程中,我们常常会使用到其中的函数。有些函数常用,就会非常熟悉,但有些不经常使用就会十分生疏。...二、函数 1)聚合函数 聚合函数又称为组函数,一般结合分组进行使用,用来统计和计算。...;-- 2 -- weekday,返回指定日期在一周内的索引值,星期一是0,星期日是6 select weekday('2022-05-01 10:00:00');-- 6 select weekday...00~53),其中周日为每周的第一天 %u 周(00~53),其中周一为每周的第一天 %V 周(01~53),其中周日为每周的第一天,和%X同时使用 %v 周(01~53),其中周一为每周的第一天,和%...x同时使用 %W 星期标识(周日、周一、周二…周六) %w —周中的每日(0= 周日…6= 周六) %X 该周的年份,其中周日为每周的第一天,数字形式,4 位数,和%V同时使用 %x 该周的年份,其中周一为每周的第一天

    64150

    mysql日期格式化 yyyymmdd_mysql中时间日期格式化

    mysql> select DAYOFWEEK(‘1998-02-03’); -> 3 WEEKDAY(date) 返回date的星期索引(0=星期一,1=星期二, ……6= 星期天)。...mysql> select QUARTER(’98-04-01′); -> 2 WEEK(date) WEEK(date,first) 对于星期天是一周的第一天的地方,有一个单个参数,返回date的周数...2个参数形式WEEK()允许 你指定星期是否开始于星期天或星期一。如果第二个参数是0,星期从星期天开始,如果第二个参数是1, 从星期一开始。...“1999-07-02 01:02:03”); -> 20102 如果你指定太短的间隔值(不包括type关键词期望的间隔部分),MySQL假设你省掉了间隔值的最左面部分。...如果你增加MONTH、YEAR_MONTH或YEAR并且结果日期大于新月份的最大值天数,日子在新月用最大的天调整。

    5.3K40

    MongoDB按时间分组

    需求​ 需求是这样的,要统计每一周的各个商品的销售记录,使用 echarts 图表呈现,如下图 说实话,一开始听到这个需求的时候,我是有点慌的,因为 MongoDB 的分组玩的比较少(Mysql 也差不多...(1到31) $dayOfWeek: 返回的是这个周的星期几。...[ { "count": 54, "date": "2021-08-30" }, // 星期一 { "count": 29, "date": "2021-08-29" }, // 星期七(日)...最终实现​ 首先,绝对不可能使用两次group,要么没有星期分组,要么没有商品分组,于是我就把思路放在project与 其中group可以将属性添加为数组,注意 goods: { push: " let...,又加以限制条件,要么分组商品的时候,统计的是一周各商品总数据,要么就是分组星期的时候,统计的是总的商品数据。

    3.2K20

    MySQL 格式化日期函数 DATE_FORMAT(), FROM_UNIXTIME() 和 UNIX_TIMESTAMP() 之间区别

    MySQL 中有非常多的日期函数,但是使用到比较多的就是 DATE_FORMAT(), FROM_UNIXTIME() 和 UNIX_TIMESTAMP() 这三个,DATE_FORMAT() 把日期进行格式化...(00-53) 星期日是一周的第一天 %u 周 (00-53) 星期一是一周的第一天 %V 周 (01-53) 星期日是一周的第一天,与 %X 使用 %v 周 (01-53) 星期一是一周的第一天,与...%x 使用 %W 星期名 %w 周的天 (0=星期日, 6=星期六) %X 年,其中的星期日是周的第一天,4 位,与 %V 使用 %x 年,其中的星期一是周的第一天,4 位,与 %v 使用 %Y 年,4...位 %y 年,2 位 FROM_UNIXTIME() FROM_UNIXTIME() 函数将 MySQL 中以 INT 存储的时间戳以 "YYYY-MM-DD" 格式来显示的字符,其语法是 FROM_UNIXTIME...UNIX_TIMESTAMP() UNIX_TIMESTAMP() 函数将 MySQL 中存储为日期的数据转换成时间戳,其语法是 UNIX_TIMESTAMP(date ) 。

    88630

    Oracle函数 – 日期函数详解

    在Oracle中准确来说一个礼拜是从星期日开始到星期六结束的,其中时间差以天数为单位。...很多的查询条件和统计都需要求得一周的时间段,也就是星期一到星期日的时间段。给出日期d和星期string之后计算下一个星期的日期....其中 YEAR、MONTH、DAY可以为 DATE 类型匹配,也可以与 TIMESTAMP 类型匹配;但是 HOUR、MINUTE、SECOND 必须与 TIMESTAMP 类型匹配。...④ 如果 fmt 为“DAY”则舍入到最近的周的周日,即上半周舍去,下半周作为下一周周日。...方式一:使用TO_CHAR(SYSDATE,'D')可以求得当前日期是一周的第几天,得到的结果是星期日开始作为第1天的,那么星期一就是第2天,星期日就是第8天。

    7.2K11
    领券