SQL - 日期函数
-
简述
下表列出了通过 SQL 可用的所有重要的日期和时间相关函数。您的 RDBMS 还支持各种其他功能。给定的列表基于 MySQL RDBMS。序号 功能说明 1 ADDDATE() 添加日期2 ADDTIME() 增加时间3 CONVERT_TZ() 从一个时区转换到另一个时区4 CURDATE() 返回当前日期5 CURRENT_DATE(), CURRENT_DATE CURDATE() 的同义词6 CURRENT_TIME(), CURRENT_TIME CURTIME() 的同义词7 CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP NOW() 的同义词8 CURTIME() 返回当前时间9 DATE_ADD() 添加两个日期10 DATE_FORMAT() 按指定格式日期11 DATE_SUB() 减去两个日期12 DATE() 提取日期或日期时间表达式的日期部分13 DATEDIFF() 减去两个日期14 DAY() DAYOFMONTH() 的同义词15 DAYNAME() 返回工作日的名称16 DAYOFMONTH() 返回月份中的第几天 (1-31)17 DAYOFWEEK() 返回参数的工作日索引18 DAYOFYEAR() 返回一年中的第几天 (1-366)19 EXTRACT 提取日期的一部分20 FROM_DAYS() 将天数转换为日期21 FROM_UNIXTIME() 将日期格式化为 UNIX 时间戳22 HOUR() 提取小时23 LAST_DAY 返回参数的月份的最后一天24 LOCALTIME(), LOCALTIME 现在()的同义词25 LOCALTIMESTAMP, LOCALTIMESTAMP() 现在()的同义词26 MAKEDATE() 根据年份和日期创建日期27 MAKETIME 找时间 ()28 MICROSECOND() 从参数返回微秒29 MINUTE() 从参数返回分钟30 MONTH() 从过去的日期返回月份31 MONTHNAME() 返回月份的名称32 NOW() 返回当前日期和时间33 PERIOD_ADD() 将期间添加到年月34 PERIOD_DIFF() 返回期间之间的月数35 QUARTER() 从日期参数返回季度36 SEC_TO_TIME() 将秒转换为 'HH:MM:SS' 格式37 SECOND() 返回第二个 (0-59)38 STR_TO_DATE() 将字符串转换为日期39 SUBDATE() 当使用三个参数调用时,DATE_SUB() 的同义词40 SUBTIME() 减去时间41 SYSDATE() 返回函数执行的时间42 TIME_FORMAT() 格式为时间43 TIME_TO_SEC() 返回转换为秒的参数44 TIME() 提取传递的表达式的时间部分45 TIMEDIFF() 减去时间46 TIMESTAMP() 此函数使用单个参数返回日期或日期时间表达式。有两个参数,参数的总和47 TIMESTAMPADD() 向日期时间表达式添加间隔48 TIMESTAMPDIFF() 从日期时间表达式中减去一个间隔49 TO_DAYS() 返回转换为天的日期参数50 UNIX_TIMESTAMP() 返回一个 UNIX 时间戳51 UTC_DATE() 返回当前 UTC 日期52 UTC_TIME() 返回当前 UTC 时间53 UTC_TIMESTAMP() 返回当前 UTC 日期和时间54 WEEK() 返回周数55 WEEKDAY() 返回工作日索引56 WEEKOFYEAR() 返回日期的日历周 (1-53)57 YEAR() 返回年份58 YEARWEEK() 返回年份和星期 -
-
-
-
-
-
-
-
-
-
-
DATE_ADD(date,INTERVAL expr unit), DATE_SUB(date,INTERVAL expr unit)
这些函数执行日期算术。这date是指定开始日期的 DATETIME 或 DATE 值。这expr is an expression specifying the interval value to be added or subtracted from the starting date. The expr is a string; it may start with a '-' for negative intervals.A unit is a keyword indicating the units in which the expression should be interpreted.The INTERVAL keyword and the unit specifier are not case sensitive.The following table shows the expected form of the expr argument for each unit value.unit Value Expected exprFormat MICROSECOND MICROSECONDS SECOND SECONDS MINUTE MINUTES HOUR HOURS DAY DAYS WEEK WEEKS MONTH MONTHS QUARTER QUARTERS YEAR YEARS SECOND_MICROSECOND 'SECONDS.MICROSECONDS' MINUTE_MICROSECOND 'MINUTES.MICROSECONDS' MINUTE_SECOND 'MINUTES:SECONDS' HOUR_MICROSECOND 'HOURS.MICROSECONDS' HOUR_SECOND 'HOURS:MINUTES:SECONDS' HOUR_MINUTE 'HOURS:MINUTES' DAY_MICROSECOND 'DAYS.MICROSECONDS' DAY_SECOND '天时:分:秒' DAY_MINUTE '天小时:分钟' DAY_HOUR '天小时' YEAR_MONTH '年月' 价值QUARTER和WEEK可从 MySQL 5.0.0 获得。版本。 -
DATE_FORMAT(date,format)
此命令根据格式字符串格式化日期值。以下说明符可用于格式字符串。在格式说明符字符之前需要 '%' 字符。序号 说明符和说明 1 %a工作日的缩写名称 (Sun..Sat)2 %b缩写月份名称(Jan..Dec)3 %c月份,数字 (0..12)4 %D带有英文后缀(0th, 1st, 2nd, 3rd, .)的月份日期5 %d日期,数字 (00..31)6 %e日期,数字 (0..31)7 %f微秒 (000000..999999)8 %H小时 (00..23)9 %h小时 (01..12)10 %I小时 (01..12)11 %i分钟,数字 (00..59)12 %j一年中的某一天 (001..366)13 %k小时 (0..23)14 %l小时 (1..12)15 %M月份名称(一月..十二月)16 %m月份,数字 (00..12)17 %p上午或下午18 %r时间,12 小时(hh:mm:ss 后跟 AM 或 PM)19 %S秒 (00..59)20 %s秒 (00..59)21 %T时间,24 小时制 (hh:mm:ss)22 %U周 (00..53),其中星期日是一周的第一天23 %u周 (00..53),其中星期一是一周的第一天24 %V周 (01..53),其中星期日是一周的第一天;与 %X 一起使用25 %v周 (01..53),其中星期一是一周的第一天;与 %x 一起使用26 %W工作日名称(星期日..星期六)27 %w星期几(0=星期日..6=星期六)28 %X星期天是一周的第一天的一周年,数字,四位数字;与 %V 一起使用29 %x一周的年份,其中星期一是一周的第一天,数字,四位数字;与 %v 一起使用30 %Y年份,数字,四位数31 %y年份,数字(两位数)32 %%文字 .%。特点33 %xx,对于任何.x。上面没有列出 -
-
-
-
-
-
-
-
-
FROM_UNIXTIME(unix_timestamp)
-
FROM_UNIXTIME(unix_timestamp,format)
Returns a representation of the unix_timestamp argument as a value in 'YYYY-MM-DD HH:MM:SS or YYYYMMDDHHMMSS format, depending on whether the function is used in a string or in a numeric context. The value is expressed in the current time zone. The unix_timestamp argument is an internal timestamp values, which are produced by the UNIX_TIMESTAMP() function.If the format is given, the result is formatted according to the format string, which is used in the same way as is listed in the entry for the DATE_FORMAT() function. -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
WEEK(date[,mode])
此函数返回日期的周数。WEEK() 的双参数形式允许您指定一周是从星期日还是星期一开始,以及返回值是否应在 0 到 53 或 1 到 53 的范围内。如果省略 mode 参数,使用 default_week_format 系统变量的值模式 一周的第一天 范围 第 1 周是第一周。 0 星期日 0-53 今年有一个星期天 1 周一 0-53 今年有3天以上 2 星期日 1-53 今年有一个星期天 3 周一 1-53 今年有3天以上 4 星期日 0-53 今年有3天以上 5 周一 0-53 今年有个星期一 6 星期日 1-53 今年有3天以上 7 周一 1-53 今年有个星期一 -
-
-
-
YEARWEEK(date), YEARWEEK(date,mode)
返回日期的年份和星期。mode 参数的工作方式与 WEEK() 函数的 mode 参数完全相同。结果中的年份可能与一年中第一周和最后一周的日期参数中的年份不同。注意− 周数不同于 WEEK() 函数为可选参数 0 或 1 返回 (0) 的值,因为 WEEK() 然后返回给定年份上下文中的周。