开发指南—函数—日期时间函数

简介: 本文介绍了PolarDB-X支持的日期时间函数

支持函数

PolarDB-X支持如下日期时间函数:

函数名 描述 示例
ADDDATE(d,n) 计算起始日期d加上n天的日期 SELECT ADDDATE("2017-06-15", INTERVAL 10 DAY);

返回:

->2017-06-25

ADDTIME(t,n) n是一个时间表达式,时间t加上时间表达式n
  • 加5秒:SELECT ADDTIME('2011-11-11 11:11:11', 5);
    返回:
    ->2011-11-11 11:11:16 (秒)
  • 添加 2 小时10 分钟5 秒:SELECT ADDTIME("2020-06-15 09:34:21", "2:10:5");
    返回:
    -> 2020-06-15 11:44:26
CURDATE() 返回当前日期 SELECT CURDATE();

返回:

-> 2018-09-19

CURRENT_DATE() 返回当前日期

SELECT CURRENT_DATE();

返回:

-> 2018-09-19

CURRENT_TIME() 返回当前时间

SELECT CURRENT_TIME();

返回:

-> 19:59:02

CURRENT_TIMESTAMP() 返回当前日期和时间

SELECT CURRENT_TIMESTAMP();

返回:

-> 2018-09-19 20:57:43

CURTIME() 返回当前时间

SELECT CURTIME();

返回:

-> 19:59:02

DATE() 从日期或日期时间表达式中提取日期值

SELECT DATE("2017-06-15");

返回:

-> 2017-06-15

DATEDIFF(d1,d2) 计算日期d1和d2之间相隔的天数

SELECT DATEDIFF('2001-01-01','2001-02-02');

返回:

-> -32

DATE_ADD(d,INTERVAL expr type) 计算起始日期d加上一个时间段后的日期,type值可以是:
  • MICROSECOND
  • SECOND
  • MINUTE
  • HOUR
  • DAY
  • WEEK
  • MONTH
  • QUARTER
  • YEAR
  • SECOND_MICROSECOND
  • MINUTE_MICROSECOND
  • MINUTE_SECOND
  • HOUR_MICROSECOND
  • HOUR_SECOND
  • HOUR_MINUTE
  • DAY_MICROSECOND
  • DAY_SECOND
  • DAY_MINUTE
  • DAY_HOUR
  • YEAR_MONTH
  • SELECT DATE_ADD("2017-06-15", INTERVAL 10 DAY);
    返回:
    -> 2017-06-25
  • SELECT DATE_ADD("2017-06-15 09:34:21", INTERVAL 15 MINUTE);
    -> 2017-06-15 09:49:21
  • SELECT DATE_ADD("2017-06-15 09:34:21", INTERVAL -3 HOUR);
    返回:
    ->2017-06-15 06:34:21
DATE_FORMAT(d,f) 按表达式f的要求显示日期d

SELECT DATE_FORMAT('2011-11-11 11:11:11','%Y-%m-%d %r');

返回:

-> 2011-11-11 11:11:11 AM

DATE_SUB(date,INTERVAL expr type) 函数从日期减去指定的时间间隔 Orders表中OrderDate字段减去2天:

SELECT OrderId,DATE_SUB(OrderDate,INTERVAL 2 DAY) AS OrderPayDate FROM Orders

DAY(d) 返回日期值d的日期部分 SELECT DAY("2017-06-15");

返回:

-> 15

DAYNAME(d) 返回日期d是星期几,如Monday,Tuesday

SELECT DAYNAME('2011-11-11 11:11:11');

返回:

->Friday

DAYOFMONTH(d)) 计算日期d是本月的第几天

SELECT DAYOFMONTH('2011-11-11 11:11:11');

返回:

->11

DAYOFWEEK(d) 日期d今天是星期几,1星期日,2星期一,以此类推

SELECT DAYOFMONTH('2011-11-11 11:11:11');

返回:

->6

DAYOFYEAR(d) 计算日期d是本年的第几天

SELECT DAYOFMONTH('2011-11-11 11:11:11');

返回:

->315

EXTRACT(type FROM d) 从日期d中获取指定的值,type指定返回的值。

type可取值为:

  • MICROSECOND
  • SECOND
  • MINUTE
  • HOUR
  • DAY
  • WEEK
  • MONTH
  • QUARTER
  • YEAR
  • SECOND_MICROSECOND
  • MINUTE_MICROSECOND
  • MINUTE_SECOND
  • HOUR_MICROSECOND
  • HOUR_SECOND
  • HOUR_MINUTE
  • DAY_MICROSECOND
  • DAY_SECOND
  • DAY_MINUTE
  • DAY_HOUR
  • YEAR_MONTH

SELECT DAYOFMONTH('2011-11-11 11:11:11');

返回:

->11

FROM_DAYS(n) 计算从0000年1月1日开始n天后的日期

SELECT FROM_DAYS(1111)

返回:

-> 0003-01-16

HOUR(t) 返回t中的小时值

SELECT HOUR('1:2:3')

返回:

-> 1

LAST_DAY(d) 返回给定日期的那一月份的最后一天

SELECT LAST_DAY("2017-06-20");

返回:

-> 2017-06-30

LOCALTIME() 返回当前日期和时间

SELECT LOCALTIME()

返回:

-> 2018-09-19 20:57:43

LOCALTIMESTAMP() 返回当前日期和时间

SELECT LOCALTIMESTAMP()

返回:

-> 2018-09-19 20:57:43

MAKEDATE(year, day-of-year) 基于给定年份year和所在年中的天数序号day-of-year返回一个日期

SELECT MAKEDATE(2017, 3);

返回:

-> 2017-01-03

MAKETIME(hour, minute, second) 组合时间,参数分别为小时、分钟、秒

SELECT MAKETIME(11, 35, 4);

返回:

-> 11:35:04

MICROSECOND(date) 返回日期所对应的微秒数

SELECT MICROSECOND("2017-06-20 09:34:00.000023");

返回:

-> 23

MINUTE(t) 返回t中的分钟值

SELECT MINUTE('1:2:3');

返回:

-> 2

MONTHNAME(d) 返回日期当中的月份名称,如 November

SELECT MONTHNAME('2011-11-11 11:11:11');

返回:

-> November

MONTH(d) 返回日期d中的月份值,1到12

SELECT MONTH('2011-11-11 11:11:11');

返回:

->11

NOW() 返回当前日期和时间

SELECT NOW()

返回:

-> 2018-09-19 20:57:43

PERIOD_ADD(period, number) 为年-月组合日期添加一个时段

SELECT PERIOD_ADD(201703, 5);

返回:

-> 201708

PERIOD_DIFF(period1, period2) 返回两个时段之间的月份差值

SELECT PERIOD_DIFF(201710, 201703);

返回:

-> 7

QUARTER(d) 返回日期d是第几季度,返回1到4

SELECT QUARTER('2011-11-11 11:11:11');

返回:

-> 4

SECOND(t) 返回t中的秒钟值

SELECT SECOND('1:2:3')

返回:

-> 3

SEC_TO_TIME(s) 将以秒为单位的时间s转换为时分秒的格式

SELECT SEC_TO_TIME(4320);

返回:

-> 01:12:00

STR_TO_DATE(string, format_mask) 将字符串转变为日期

SELECT STR_TO_DATE("August 10 2017", "%M %d %Y");

返回:

-> 2017-08-10

SUBDATE(d,n) 日期d减去n天后的日期

SELECT SUBDATE('2011-11-11 11:11:11', 1);

返回:

->2011-11-10 11:11:11 (默认是天)

SUBTIME(t,n) 时间t减去n秒的时间

SELECT SUBTIME('2011-11-11 11:11:11', 5);

返回:

->2011-11-11 11:11:06 (秒)

SYSDATE() 返回当前日期和时间

SELECT SYSDATE();

返回:

-> 2018-09-19 20:57:43

TIME(expression) 提取传入表达式的时间部分

SELECT TIME("19:30:10");

返回:

-> 19:30:10

TIME_FORMAT(t,f) 按表达式f的要求显示时间t

SELECT TIME_FORMAT('11:11:11','%r');

返回:

-> 11:11:11 AM

TIME_TO_SEC(t) 将时间t转换为秒

SELECT TIME_TO_SEC('1:12:00');

返回:

-> 4320

TIMEDIFF(time1, time2) 计算时间差值

SELECT TIMEDIFF("13:10:11", "13:10:10");

返回:

-> 00:00:01

TIMESTAMP(expression, interval) 单个参数时,函数返回日期或日期时间表达式;有2个参数时,将参数加和

SELECT TIMESTAMP("2017-07-23", "13:10:11");

返回:

-> 2017-07-23 13:10:11

TO_DAYS(d) 计算日期d距离0000年1月1日的天数

SELECT TO_DAYS('0001-01-01 01:01:01');

返回:

-> 366

WEEK(d) 计算日期d是本年的第几个星期,范围是0到53

SELECT WEEK('2011-11-11 11:11:11');

返回:

-> 45

WEEKDAY(d) 日期d是星期几,0表示星期一,1表示星期二

SELECT WEEKDAY("2017-06-15");

返回:

-> 3

WEEKOFYEAR(d) 计算日期d是本年的第几个星期,范围是0到53

SELECT WEEKOFYEAR('2011-11-11 11:11:11');

返回:

-> 45

YEAR(d) 返回年份

SELECT YEAR("2017-06-15");

返回:

-> 2017

YEARWEEK(date, mode) 返回年份及第几周(0到53),mode中0表示周天,1表示周一,以此类推

SELECT YEARWEEK("2017-06-15");

返回:

-> 201724

相关文章
|
7月前
|
机器学习/深度学习 Python
python自定义日历库,与对应calendar库函数功能基本一致
python自定义日历库,与对应calendar库函数功能基本一致
81 0
|
机器学习/深度学习
开发指南—函数—日期时间函数
本文介绍了PolarDB-X支持的日期时间函数
开发指南—函数—转换函数
本文介绍了PolarDB-X支持的转换函数
开发指南—函数—拆分函数—WEEK
本文介绍WEEK函数的使用方式。
C/C++时间函数使用方法
C/C++对时间的操作也有许多值得大家注意的地方。最近,在技术群中有很多网友也多次问到过C++语言中对时间的操作、获取和显示等等的问题。下面,在这篇文章中,笔者将主要介绍在C/C++中时间和日期的使用方法.          通过学习许多C/C++库,你可以有很多操作、使用时间的方法。
836 0
|
2天前
|
存储 运维 安全
云上金融量化策略回测方案与最佳实践
2024年11月29日,阿里云在上海举办金融量化策略回测Workshop,汇聚多位行业专家,围绕量化投资的最佳实践、数据隐私安全、量化策略回测方案等议题进行深入探讨。活动特别设计了动手实践环节,帮助参会者亲身体验阿里云产品功能,涵盖EHPC量化回测和Argo Workflows量化回测两大主题,旨在提升量化投研效率与安全性。
云上金融量化策略回测方案与最佳实践
|
4天前
|
人工智能 自然语言处理 前端开发
从0开始打造一款APP:前端+搭建本机服务,定制暖冬卫衣先到先得
通义灵码携手科技博主@玺哥超carry 打造全网第一个完整的、面向普通人的自然语言编程教程。完全使用 AI,再配合简单易懂的方法,只要你会打字,就能真正做出一个完整的应用。
4715 17
|
15天前
|
人工智能 自动驾驶 大数据
预告 | 阿里云邀您参加2024中国生成式AI大会上海站,马上报名
大会以“智能跃进 创造无限”为主题,设置主会场峰会、分会场研讨会及展览区,聚焦大模型、AI Infra等热点议题。阿里云智算集群产品解决方案负责人丛培岩将出席并发表《高性能智算集群设计思考与实践》主题演讲。观众报名现已开放。
|
8天前
|
自然语言处理 数据可视化 API
Qwen系列模型+GraphRAG/LightRAG/Kotaemon从0开始构建中医方剂大模型知识图谱问答
本文详细记录了作者在短时间内尝试构建中医药知识图谱的过程,涵盖了GraphRAG、LightRAG和Kotaemon三种图RAG架构的对比与应用。通过实际操作,作者不仅展示了如何利用这些工具构建知识图谱,还指出了每种工具的优势和局限性。尽管初步构建的知识图谱在数据处理、实体识别和关系抽取等方面存在不足,但为后续的优化和改进提供了宝贵的经验和方向。此外,文章强调了知识图谱构建不仅仅是技术问题,还需要深入整合领域知识和满足用户需求,体现了跨学科合作的重要性。
|
3天前
|
人工智能 容器
三句话开发一个刮刮乐小游戏!暖ta一整个冬天!
本文介绍了如何利用千问开发一款情侣刮刮乐小游戏,通过三步简单指令实现从单个功能到整体框架,再到多端优化的过程,旨在为生活增添乐趣,促进情感交流。在线体验地址已提供,鼓励读者动手尝试,探索编程与AI结合的无限可能。