Temporal Data

Time zone

  • 查看Mysql时区SELECT @@global.time_zone, @@session.time_zone;
  • 设置MySQL时区SET time_zone='$Location or $num_of_time_zone;

Generation

  • 创建方式

    • 从别处copy
    • 使用date(), datetime(), time()等函数
    • 使用数组表示,SQL Server自动将其转化为时间变量
  • 用字符串表示时间变量

Component Definition Range
YYYY Year, including century 1000 to 9999
MM Month 01(January) to 12(December)
DD Day 01 to 31
HH Hour 00 to 23
HHH Hours(elapsed) 00 to 23
MI Minute 00 to 59
SS Second 00 to 59
Type Default format
date YYYY-MM-DD
datetime YYYY-MM-DD HH:MI:SS
timestamp YYYY-MM-DD HH:MI:SS
time HHH:MI:SS
  • string_to_date conversion

    • cast('$time_string' AS $temporal_type)
  • str_to_date('$date_str','$pattern_str');

    • example: STR_TO_DATE('September 17, 2019', '%M %d, %Y');
Format Description
%M 字母月份,全拼(January to December)
%m 数字月份,(01 to 12)
%d 一个月内的第*日,(01 to 31)
%j 一年中的第*天,(001 to 366)
%W 字母周几,(Sunday to Saturday)
%Y 年份,四位数字
%y 年份,两位数字
%H 小时,24小时制(00 to 23)
%h 小时,12小时制(01 to 12)
%i 分钟,(00 to 59)
%s 秒,(00 to 59)
%f 微秒,(000000 to 999999)
%p A.M. OR P.M.
  • now()

    • CURRENT_TIMESTAMP()
    • CURRENT_TIME()
    • CURRENT_DATE()

Manipulation

  • DATE_ADD($date_type, INTERVAL $value $interval_type)
Interval name Description
second 秒数
minute 分钟数
hour 小时数
day 天数
month 月数
year 年数
minute_second 分秒数,分秒,之间要用 : 分隔
hour_second 小时,分钟和秒,之间要用 : 分隔
year_month 年和月数,之间要用 - 分隔
  • DAYNAME($temporal_type) 返回周几
  • EXTRACT($interval_type FROM $temporal_type)

    • 例如 SELECT EXTRACT(second FROM NOW()); 返回目前的秒数。
  • datediff($temporal1, $temporal2) 计算$temporal1$temporal2之间相差的天数(完整的天数)($temporal1 - temporal2)

results matching ""

    No results matching ""