mysql day()函数

时间: 2023-10-09 16:16:45 浏览: 142
MySQL的DAY()函数是用于从日期或日期/时间表达式中提取天数部分的函数。它的语法如下: ``` DAY(date) ``` 其中,`date`参数是一个合法的日期或日期/时间表达式,可以是一个字符串或一个列名。 该函数返回一个介于1到31之间的整数,表示给定日期的天数部分。 以下是一些示例: ```sql SELECT DAY('2022-01-15'); -- 返回 15 SELECT DAY('2022-11-30'); -- 返回 30 SELECT DAY('2022-02-01 09:30:45'); -- 返回 1 SELECT DAY('2022-02-01'); -- 返回 1 ``` 注意:如果传入的参数不是一个合法的日期或日期/时间表达式,该函数将返回NULL。
相关问题

MYSQL lastday函数作用

MySQL的LAST_DAY()函数是用来返回一个日期所在月份的最后一天的日期。例如,LAST_DAY('2022-01-15')将返回'2022-01-31'。它可以用于很多场合,比如在报表中显示每月的最后一天,或者计算某个月的总天数等。 它的语法如下: ``` LAST_DAY(date) ``` 其中,date是一个日期或日期时间值,可以是一个日期字面量、日期变量或者日期函数返回的值。返回值是一个日期,表示输入日期所在月份的最后一天的日期。

mysql中last_day函数

在MySQL中,LAST_DAY()函数返回指定日期的月份的最后一天。 语法: LAST_DAY(date) 参数说明: date:要获取最后一天的日期,可以是日期值、日期时间值或者日期时间字符串。 返回值: 返回一个日期值,表示指定日期所在月份的最后一天。 示例: SELECT LAST_DAY('2021-05-20'); -- 返回 '2021-05-31' SELECT LAST_DAY('2021-06-15 12:34:56'); -- 返回 '2021-06-30' SELECT LAST_DAY('2021-07-01'); -- 返回 '2021-07-31'
阅读全文

相关推荐

application/msword
mysql的日期和时间函数  这里是一个使用日期函数的例子。下面的查询选择所有 date_col 值在最后 30 天内的记录。   mysql> SELECT something FROM tbl_name             WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30;  DAYOFWEEK(date)   返回 date 的星期索引(1 = Sunday, 2 = Monday, ... 7 = Saturday)。索引值符合 ODBC 的标准。   mysql> SELECT DAYOFWEEK(’1998-02-03’);          -> 3  WEEKDAY(date)   返回 date 的星期索引(0 = Monday, 1 = Tuesday, ... 6 = Sunday):   mysql> SELECT WEEKDAY(’1998-02-03 22:23:00’);          -> 1  mysql> SELECT WEEKDAY(’1997-11-05’);          -> 2  DAYOFMONTH(date)   返回 date 是一月中的第几天,范围为 1 到 31:   mysql> SELECT DAYOFMONTH(’1998-02-03’);          -> 3  DAYOFYEAR(date)   返回 date 是一年中的第几天,范围为 1 到 366:   mysql> SELECT DAYOFYEAR(’1998-02-03’);          -> 34  MONTH(date)   返回 date 中的月份,范围为 1 到 12:   mysql> SELECT MONTH(’1998-02-03’);          -> 2  DAYNAME(date)   返回 date 的星期名:   mysql> SELECT DAYNAME("1998-02-05");          -> ’Thursday’  MONTHNAME(date)   返回 date 的月份名:   mysql> SELECT MONTHNAME("1998-02-05");          -> ’February’  QUARTER(date)   返回 date 在一年中的季度,范围为 1 到 4:   mysql> SELECT QUARTER(’98-04-01’);          -> 2  WEEK(date)   WEEK(date,first)   对于星期日是一周中的第一天的场合,如果函数只有一个参数调用,返回 date 为一年的第几周,返回值范围为 0 到 53 (是的,可能有第 53 周的开始)。两个参数形式的 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> SELECT WEEK(’1998-02-20’,0);         -> 7 mysql> SELECT WEEK(’1998-02-20’,1);         -> 8 mysql> SELECT WEEK(’1998-12-31’,1);         -> 53 注意,在版本 4.0 中,WEEK(#,0) 被更改为匹配 USA 历法。 注意,如果一周是上一年的最后一周,当你没有使用 2 或 3 做为可选参数时,MySQL 将返回 0:  mysql> SELECT YEAR(’2000-01-01’), WEEK(’2000-01-01’,0);         -> 2000, 0 mysql> SELECT WEEK(’2000-01-01’,2);         -> 52 你可能会争辩说,当给定的日期值实际上是 1999 年的第 52 周的一部分时,MySQL 对 WEEK() 函数应该返回 52。我们决定返回 0 ,是因为我们希望该函数返回“在指定年份中是第几周”。当与其它的提取日期值中的月日值的函数结合使用时,这使得 WEEK() 函数的用法可靠。 如果你更希望能得到恰当的年-周值,那么你应该使用参数 2 或 3 做为可选参数,或者使用函数 YEARWEEK() :  mysql> SELECT YEARWEEK(’2000-01-01’);         -> 199952 mysql> SELECT MID(YEARWEEK(’2000-01-01’),5,2);         -> 52 YEAR(date)  返回 date 的年份,范围为 1000 到 9999:  mysql> SELECT YEAR(’98-02-03’);         -> 1998 YEARWEEK(date)  YEARWEEK(date,first)  返回一个日期值是的哪一年的哪一周。第二个参数的形式与作用完全与 WEEK() 的第二个参数一致。注意,对于给定的日期参数是一年的第一周或最后一周的,返回的年份值可能与日期参数给出的年份不一致:  mysql> SELECT YEARWEEK(’1987-01-01’);         -> 198653 注意,对于可选参数 0 或 1,周值的返回值不同于 WEEK() 函数所返回值(0), WEEK() 根据给定的年语境返回周值。  HOUR(time)  返回 time 的小时值,范围为 0 到 23:  mysql> SELECT HOUR(’10:05:03’);         -> 10 MINUTE(time)  返回 time 的分钟值,范围为 0 到 59:  mysql> SELECT MINUTE(’98-02-03 10:05:03’);         -> 5 SECOND(time)  返回 time 的秒值,范围为 0 到 59:  mysql> SELECT SECOND(’10:05:03’);         -> 3 PERIOD_ADD(P,N)  增加 N 个月到时期 P(格式为 YYMM 或 YYYYMM)中。以 YYYYMM 格式返回值。 注意,期间参数 P 不是 一个日期值:  mysql> SELECT PERIOD_ADD(9801,2);         -> 199803 PERIOD_DIFF(P1,P2)  返回时期 P1 和 P2 之间的月数。P1 和 P2 应该以 YYMM 或 YYYYMM 指定。 注意,时期参数 P1 和 P2 不是 日期值:  mysql> SELECT PERIOD_DIFF(9802,199703);         -> 11 DATE_ADD(date,INTERVAL expr type)  DATE_SUB(date,INTERVAL expr type)  ADDDATE(date,INTERVAL expr type)  SUBDATE(date,INTERVAL expr type)  这些函数执行日期的算术运算。ADDDATE() 和 SUBDATE() 分别是 DATE_ADD() 和 DATE_SUB() 的同义词。 在 MySQL 3.23 中,如果表达式的右边是一个日期值或一个日期时间型字段,你可以使用 + 和 - 代替 DATE_ADD() 和 DATE_SUB()(示例如下)。 参数 date 是一个 DATETIME 或 DATE 值,指定一个日期的开始。expr 是一个表达式,指定从开始日期上增加还是减去间隔值。expr 是一个字符串;它可以以一个 “-” 领头表示一个负的间隔值。type 是一个关键词,它标志着表达式以何格式被解释。 下表显示 type 和 expr 参数是如何关联的:  type 值                              expr 期望的格式  SECOND                            SECONDS  MINUTE                             MINUTES  HOUR                                HOURS  DAY                                   DAYS  MONTH                              MONTHS  YEAR                                 YEARS  MINUTE_SECOND             "MINUTES:SECONDS"  HOUR_MINUTE                 "HOURS:MINUTES"  DAY_HOUR                       "DAYS HOURS"  YEAR_MONTH             "YEARS-MONTHS"  HOUR_SECOND                "HOURS:MINUTES:SECONDS"  DAY_MINUTE                    "DAYS HOURS:MINUTES"  DAY_SECOND                   "DAYS HOURS:MINUTES:SECONDS"  在 expr 的格式中,MySQL 允许任何字符作为定界符。表中所显示的是建议的定界字符。如果 date 参数是一个 DATE 值,并且计算的间隔仅仅有 YEAR、MONTH 和 DAY 部分(没有时间部分),那么返回值也是一个 DATE 值。否则返回值是一个 DATETIME 值: mysql> SELECT "1997-12-31 23:59:59" + INTERVAL 1 SECOND;        -> 1998-01-01 00:00:00mysql> SELECT INTERVAL 1 DAY + "1997-12-31";        -> 1998-01-01mysql> SELECT "1998-01-01" - INTERVAL 1 SECOND;       -> 1997-12-31 23:59:59mysql> SELECT DATE_ADD("1997-12-31 23:59:59",    ->                 INTERVAL 1 SECOND);        -> 1998-01-01 00:00:00mysql> SELECT DATE_ADD("1997-12-31 23:59:59",    ->                 INTERVAL 1 DAY);        -> 1998-01-01 23:59:59mysql> SELECT DATE_ADD("1997-12-31 23:59:59",    ->                 INTERVAL "1:1" MINUTE_SECOND);        -> 1998-01-01 00:01:00mysql> SELECT DATE_SUB("1998-01-01 00:00:00",    ->                 INTERVAL "1 1:1:1" DAY_SECOND);        -> 1997-12-30 22:58:59mysql> SELECT DATE_ADD("1998-01-01 00:00:00",    ->                 INTERVAL "-1 10" DAY_HOUR);        -> 1997-12-30 14:00:00mysql> SELECT DATE_SUB("1998-01-02", INTERVAL 31 DAY);        -> 1997-12-02 如果你指定了一个太短的间隔值(没有包括 type 关键词所期望的所有间隔部分),MySQL 假设你遗漏了间隔值的最左边部分。例如,如果指定一个 type 为 DAY_SECOND,那么 expr 值被期望包含天、小时、分钟和秒部分。如果你象 "1:10" 样指定一个值,MySQL 假设天和小时部分被遗漏了,指定的值代表分钟和秒。换句话说,"1:10" DAY_SECOND 被解释为等价于 "1:10" MINUTE_SECOND。这类似于 MySQL 解释 TIME 值为经过的时间而不是一天的时刻。 注意,如果依着包含一个时间部分的间隔增加或减少一个日期值,该日期值将被自动地转换到一个日期时间值: mysql> SELECT DATE_ADD("1999-01-01", INTERVAL 1 DAY);       -> 1999-01-02mysql> SELECT DATE_ADD("1999-01-01", INTERVAL 1 HOUR);       -> 1999-01-01 01:00:00 如果你使用了确定不正确的日期,返回结果将是 NULL。如果你增加 MONTH、YEAR_MONTH 或 YEAR,并且结果日期的天比新月份的最大天数还大,那么它将被调整到新月份的最大天数: mysql> SELECT DATE_ADD('1998-01-30', INTERVAL 1 MONTH);        -> 1998-02-28 注意,上面的例子中,单词 INTERVAL 和关键词 type 是不区分字母大小写的。 EXTRACT(type FROM date) EXTRACT() 函数使用与 DATE_ADD() 或 DATE_SUB() 一致的间隔类型,但是它用于指定从日期中提取的部分,而不是进行日期算术运算。 mysql> SELECT EXTRACT(YEAR FROM "1999-07-02");       -> 1999mysql> SELECT EXTRACT(YEAR_MONTH FROM "1999-07-02 01:02:03");       -> 199907mysql> SELECT EXTRACT(DAY_MINUTE FROM "1999-07-02 01:02:03");       -> 20102 TO_DAYS(date) 给出一个日期 date,返回一个天数(从 0 年开始的天数): mysql> SELECT TO_DAYS(950501);        -> 728779mysql> SELECT TO_DAYS('1997-10-07');        -> 729669 TO_DAYS() 无意于使用先于格里高里历法(即现行的阳历)(1582)出现的值,因为它不考虑当历法改变时所遗失的天数。 FROM_DAYS(N) 给出一个天数 N,返回一个 DATE 值: mysql> SELECT FROM_DAYS(729669);        -> '1997-10-07' FROM_DAYS() 无意于使用先于格里高里历法(1582)出现的值,因为它不考虑当历法改变时所遗失的天数。 DATE_FORMAT(date,format) 依照 format 字符串格式化 date 值。下面的修饰符可被用于 format 字符串中: 修饰符   含义  %M       月的名字 (January..December)  %W      星期的名字 (Sunday..Saturday)  %D       有英文后缀的某月的第几天 (0th, 1st, 2nd, 3rd, etc.)  %Y        年份,数字的,4 位  %y        年份,数字的,2 位  %X    周值的年份,星期日是一个星期的第一天,数字的,4 位,与 '%V' 一同使用  %x     周值的年份,星期一是一个星期的第一天,数字的,4 位,与 '%v' 一同使用  %a       缩写的星期名 (Sun..Sat)  %d       月份中的天数,数字的 (00..31)  %e       月份中的天数,数字的 (0..31)  %m      月,数字的 (00..12)  %c       月,数字的 (0..12)  %b        缩写的月份名 (Jan..Dec)  %j        一年中的天数 (001..366)  %H        小时 (00..23)  %k        小时 (0..23)  %h        小时 (01..12)  %I         小时 (01..12)  %l          小时 (1..12)  %i         分钟,数字的 (00..59)  %r         时间,12 小时 (hh:mm:ss [AP]M)  %T         时间,24 小时 (hh:mm:ss)  %S         秒 (00..59)  %s         秒 (00..59)  %p         AM 或 PM  %w         一周中的天数 (0=Sunday..6=Saturday)  %U          星期 (00..53),星期日是一个星期的第一天  %u         星期 (00..53),星期一是一个星期的第一天  %V        星期 (01..53),星期日是一个星期的第一天。与 '%X' 一起使用  %v          星期 (01..53),星期一是一个星期的第一天。与 '%x' 一起使用  %%        一个字母 “%”  所有其它的字符不经过解释,直接复制到结果中: mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y');        -> 'Saturday October 1997'mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s');        -> '22:23:00'mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00',                          '%D %y %a %d %m %b %j');        -> '4th 97 Sat 04 10 Oct 277'mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00',                          '%H %k %I %r %T %S %w');        -> '22 22 10 10:23:00 PM 22:23:00 00 6'mysql> SELECT DATE_FORMAT('1999-01-01', '%X %V');        -> '1998 52' 在 MySQL 3.23 中,在格式修饰符前需要字符 %'。在更早的 MySQL 版本中,%' 是可选的。 月份与天修饰符的范围从零开始的原因是,在 MySQL 3.23 中,它允许存储不完善的日期值(例如 '2004-00-00')。 TIME_FORMAT(time,format) 它的使用方法与上面的 DATE_FORMAT() 函数相似,但是 format 字符串只包含处理小时、分和秒的那些格式修饰符。使用其它的修饰符会产生一个 NULL 值或 0。 CURDATE() CURRENT_DATE 以 'YYYY-MM-DD' 或 YYYYMMDD 格式返回当前的日期值,返回的格式取决于该函数是用于字符串还是数字语境中: mysql> SELECT CURDATE();        -> '1997-12-15'mysql> SELECT CURDATE() + 0;        -> 19971215 CURTIME() CURRENT_TIME 以 'HH:MM:SS' 或 HHMMSS 格式返回当前的时间值,返回的格式取决于该函数是用于字符串还是数字语境中: mysql> SELECT CURTIME();        -> '23:50:26'mysql> SELECT CURTIME() + 0;        -> 235026 NOW() SYSDATE() CURRENT_TIMESTAMP 以 'YYYY-MM-DD HH:MM:SS' 或 YYYYMMDDHHMMSS 格式返回当前的日期时间值,返回的格式取决于该函数是用于字符串还是数字语境中: mysql> SELECT NOW();        -> '1997-12-15 23:50:26'mysql> SELECT NOW() + 0;        -> 19971215235026 注意,函数 NOW() 在每个查询中只计算一次,也就是在查询开始执行时。这就是说,如果在一个单独的查询中多次引用了 NOW(),它只会给出值都是一个相同的时间。 UNIX_TIMESTAMP() UNIX_TIMESTAMP(date) 如果调用时没有参数,以无符号的整数形式返回一个 Unix 时间戳(从 '1970-01-01 00:00:00' GMT 开始的秒数)。如果以一个参数 date 调用 UNIX_TIMESTAMP(),它将返回该参数值从 '1970-01-01 00:00:00' GMT 开始经过的秒数值。date 可以是一个 DATE 字符串,一个 DATETIME 字符串,一个 TIMESTAMP,或者以一个 YYMMDD 或 YYYYMMDD 显示的本地时间: mysql> SELECT UNIX_TIMESTAMP();        -> 882226357mysql> SELECT UNIX_TIMESTAMP('1997-10-04 22:23:00');        -> 875996580 当 UNIX_TIMESTAMP 被用于一个 TIMESTAMP 列时,函数直接返回一个内部的时间戳值,而不进行一个隐含地 “string-to-unix-timestamp” 转换。如果你传递一个超出范围的日期参数给 UNIX_TIMESTAMP() ,它将返回 0,但是请注意,MySQL 对其仅仅进行基本的检验(年范围 1970-2037,月份 01-12,日期 01-31)。 如果你希望减去 UNIX_TIMESTAMP() 列,你应该需要将结果强制转换为一有符号整数。查看章节 6.3.5 Cast 函数。 FROM_UNIXTIME(unix_timestamp [,format]) 以 'YYYY-MM-DD HH:MM:SS' 或 YYYYMMDDHHMMSS 格式返回一个 unix_timestamp 参数值,返回值的形式取决于该函数使用于字符串还是数字语境。 如果 format 给出,返回值依 format 字符串被格式。format 可以包含与 DATE_FORMAT() 函数同样的修饰符。 mysql> SELECT FROM_UNIXTIME(875996580);        -> '1997-10-04 22:23:00'mysql> SELECT FROM_UNIXTIME(875996580) + 0;        -> 19971004222300mysql> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(),                            '%Y %D %M %h:%i:%s %x');        -> '1997 23rd December 03:43:30 1997' SEC_TO_TIME(seconds) 以 'HH:MM:SS' 或 HHMMSS 格式返回参数 seconds 被转换到时分秒后的值,返回值的形式取决于该函数使用于字符串还是数字语境: mysql> SELECT SEC_TO_TIME(2378);        -> '00:39:38'mysql> SELECT SEC_TO_TIME(2378) + 0;        -> 3938 TIME_TO_SEC(time) 将参数 time 转换为秒数后返回: mysql> SELECT TIME_TO_SEC('22:23:00');        -> 80580mysql> SELECT TIME_TO_SEC('00:39:38');        -> 2378 YYYYMMDDHHMMSS 格式返回当前的日期时间值,返回的格式取决于该函数是用于字符串还是数字语境中: mysql> SELECT NOW();        -> '1997-12-15 23:50:26'mysql> SELECT NOW() + 0;        -> 19971215235026 注意,函数 NOW() 在每个查询中只计算一次,也就是在查询开始执行时。这就是说,如果在一个单独的查询中多次引用了 NOW(),它只会给出值都是一个相同的时间。 UNIX_TIMESTAMP() UNIX_TIMESTAMP(date) 如果调用时没有参数,以无符号的整数形式返回一个 Unix 时间戳(从 '1970-01-01 00:00:00' GMT 开始的秒数)。如果以一个参数 date 调用 UNIX_TIMESTAMP(),它将返回该参数值从 '1970-01-01 00:00:00' GMT 开始经过的秒数值。date 可以是一个 DATE 字符串,一个 DATETIME 字符串,一个 TIMESTAMP,或者以一个 YYMMDD 或 YYYYMMDD 显示的本地时间: mysql> SELECT UNIX_TIMESTAMP();        -> 882226357mysql> SELECT UNIX_TIMESTAMP('1997-10-04 22:23:00');        -> 875996580 当 UNIX_TIMESTAMP 被用于一个 TIMESTAMP 列时,函数直接返回一个内部的时间戳值,而不进行一个隐含地 “string-to-unix-timestamp” 转换。如果你传递一个超出范围的日期参数给 UNIX_TIMESTAMP() ,它将返回 0,但是请注意,MySQL 对其仅仅进行基本的检验(年范围 1970-2037,月份 01-12,日期 01-31)。 如果你希望减去 UNIX_TIMESTAMP() 列,你应该需要将结果强制转换为一有符号整数。查看章节 6.3.5 Cast 函数。 FROM_UNIXTIME(unix_timestamp [,format]) 以 'YYYY-MM-DD HH:MM:SS' 或 YYYYMMDDHHMMSS 格式返回一个 unix_timestamp 参数值,返回值的形式取决于该函数使用于字符串还是数字语境。 如果 format 给出,返回值依 format 字符串被格式。format 可以包含与 DATE_FORMAT() 函数同样的修饰符。 mysql> SELECT FROM_UNIXTIME(875996580);        -> '1997-10-04 22:23:00'mysql> SELECT FROM_UNIXTIME(875996580) + 0;        -> 19971004222300mysql> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(),                            '%Y %D %M %h:%i:%s %x');        -> '1997 23rd December 03:43:30 1997' SEC_TO_TIME(seconds) 以 'HH:MM:SS' 或 HHMMSS 格式返回参数 seconds 被转换到时分秒后的值,返回值的形式取决于该函数使用于字符串还是数字语境: mysql> SELECT SEC_TO_TIME(2378);        -> '00:39:38'mysql> SELECT SEC_TO_TIME(2378) + 0;        -> 3938 TIME_TO_SEC(time) 将参数 time 转换为秒数后返回: mysql> SELECT TIME_TO_SEC('22:23:00');        -> 80580mysql> SELECT TIME_TO_SEC('00:39:38');        -> 2378 YYYYMMDDHHMMSS 格式返回当前的日期时间值,返回的格式取决于该函数是用于字符串还是数字语境中: mysql> SELECT NOW();        -> '1997-12-15 23:50:26'mysql> SELECT NOW() + 0;        -> 19971215235026 注意,函数 NOW() 在每个查询中只计算一次,也就是在查询开始执行时。这就是说,如果在一个单独的查询中多次引用了 NOW(),它只会给出值都是一个相同的时间。 UNIX_TIMESTAMP() UNIX_TIMESTAMP(date) 如果调用时没有参数,以无符号的整数形式返回一个 Unix 时间戳(从 '1970-01-01 00:00:00' GMT 开始的秒数)。如果以一个参数 date 调用 UNIX_TIMESTAMP(),它将返回该参数值从 '1970-01-01 00:00:00' GMT 开始经过的秒数值。date 可以是一个 DATE 字符串,一个 DATETIME 字符串,一个 TIMESTAMP,或者以一个 YYMMDD 或 YYYYMMDD 显示的本地时间: mysql> SELECT UNIX_TIMESTAMP();        -> 882226357mysql> SELECT UNIX_TIMESTAMP('1997-10-04 22:23:00');        -> 875996580 当 UNIX_TIMESTAMP 被用于一个 TIMESTAMP 列时,函数直接返回一个内部的时间戳值,而不进行一个隐含地 “string-to-unix-timestamp” 转换。如果你传递一个超出范围的日期参数给 UNIX_TIMESTAMP() ,它将返回 0,但是请注意,MySQL 对其仅仅进行基本的检验(年范围 1970-2037,月份 01-12,日期 01-31)。 如果你希望减去 UNIX_TIMESTAMP() 列,你应该需要将结果强制转换为一有符号整数。查看章节 6.3.5 Cast 函数。 FROM_UNIXTIME(unix_timestamp [,format]) 以 'YYYY-MM-DD HH:MM:SS' 或 YYYYMMDDHHMMSS 格式返回一个 unix_timestamp 参数值,返回值的形式取决于该函数使用于字符串还是数字语境。 如果 format 给出,返回值依 format 字符串被格式。format 可以包含与 DATE_FORMAT() 函数同样的修饰符。 mysql> SELECT FROM_UNIXTIME(875996580);        -> '1997-10-04 22:23:00'mysql> SELECT FROM_UNIXTIME(875996580) + 0;        -> 19971004222300mysql> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(),                            '%Y %D %M %h:%i:%s %x');        -> '1997 23rd December 03:43:30 1997' SEC_TO_TIME(seconds) 以 'HH:MM:SS' 或 HHMMSS 格式返回参数 seconds 被转换到时分秒后的值,返回值的形式取决于该函数使用于字符串还是数字语境: mysql> SELECT SEC_TO_TIME(2378);        -> '00:39:38'mysql> SELECT SEC_TO_TIME(2378) + 0;        -> 3938 TIME_TO_SEC(time) 将参数 time 转换为秒数后返回: mysql> SELECT TIME_TO_SEC('22:23:00');        -> 80580mysql> SELECT TIME_TO_SEC('00:39:38');        -> 2378 YYYYMMDDHHMMSS 格式返回当前的日期时间值,返回的格式取决于该函数是用于字符串还是数字语境中: mysql> SELECT NOW();        -> '1997-12-15 23:50:26'mysql> SELECT NOW() + 0;        -> 19971215235026 注意,函数 NOW() 在每个查询中只计算一次,也就是在查询开始执行时。这就是说,如果在一个单独的查询中多次引用了 NOW(),它只会给出值都是一个相同的时间。 UNIX_TIMESTAMP() UNIX_TIMESTAMP(date) 如果调用时没有参数,以无符号的整数形式返回一个 Unix 时间戳(从 '1970-01-01 00:00:00' GMT 开始的秒数)。如果以一个参数 date 调用 UNIX_TIMESTAMP(),它将返回该参数值从 '1970-01-01 00:00:00' GMT 开始经过的秒数值。date 可以是一个 DATE 字符串,一个 DATETIME 字符串,一个 TIMESTAMP,或者以一个 YYMMDD 或 YYYYMMDD 显示的本地时间: mysql> SELECT UNIX_TIMESTAMP();        -> 882226357mysql> SELECT UNIX_TIMESTAMP('1997-10-04 22:23:00');        -> 875996580 当 UNIX_TIMESTAMP 被用于一个 TIMESTAMP 列时,函数直接返回一个内部的时间戳值,而不进行一个隐含地 “string-to-unix-timestamp” 转换。如果你传递一个超出范围的日期参数给 UNIX_TIMESTAMP() ,它将返回 0,但是请注意,MySQL 对其仅仅进行基本的检验(年范围 1970-2037,月份 01-12,日期 01-31)。 如果你希望减去 UNIX_TIMESTAMP() 列,你应该需要将结果强制转换为一有符号整数。查看章节 6.3.5 Cast 函数。 FROM_UNIXTIME(unix_timestamp [,format]) 以 'YYYY-MM-DD HH:MM:SS' 或 YYYYMMDDHHMMSS 格式返回一个 unix_timestamp 参数值,返回值的形式取决于该函数使用于字符串还是数字语境。 如果 format 给出,返回值依 format 字符串被格式。format 可以包含与 DATE_FORMAT() 函数同样的修饰符。 mysql> SELECT FROM_UNIXTIME(875996580);        -> '1997-10-04 22:23:00'mysql> SELECT FROM_UNIXTIME(875996580) + 0;        -> 19971004222300mysql> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(),                            '%Y %D %M %h:%i:%s %x');        -> '1997 23rd December 03:43:30 1997' SEC_TO_TIME(seconds) 以 'HH:MM:SS' 或 HHMMSS 格式返回参数 seconds 被转换到时分秒后的值,返回值的形式取决于该函数使用于字符串还是数字语境: mysql> SELECT SEC_TO_TIME(2378);        -> '00:39:38'mysql> SELECT SEC_TO_TIME(2378) + 0;        -> 3938 TIME_TO_SEC(time) 将参数 time 转换为秒数后返回: mysql> SELECT TIME_TO_SEC('22:23:00');        -> 80580mysql> SELECT TIME_TO_SEC('00:39:38');        -> 2378

最新推荐

recommend-type

Mysql常用函数大全(分类汇总讲解)

MySQL是一种广泛使用的开源关系型数据库管理系统,其丰富的函数库使得数据处理变得更加便捷高效。本文将对MySQL中的常用函数进行分类汇总讲解,帮助你更好地理解和应用这些功能。 首先,我们来看数学函数。数学函数...
recommend-type

MySQL日期加减函数详解

MySQL中的日期和时间函数在数据处理中扮演着重要的角色,特别是在数据分析、报表生成以及日志记录等场景。这里我们将详细探讨几个主要的日期加减函数,包括`addtime()`、`adddate()`、`date_add()`、`subtime()`、`...
recommend-type

mysql日期函数时间函数及加减运算

"MySQL 日期函数和时间函数及加减运算" MySQL 日期函数和时间函数是 MySQL 中非常重要的函数,用于处理日期和时间数据类型。这些函数可以帮助开发者快速获得当前日期和时间、执行日期和时间相关的操作。 获得当前...
recommend-type

mysql中常用日期比较与计算函数

MySQL中的日期和时间函数在数据库操作中扮演着重要的角色,特别是在数据分析、报表生成以及日志管理等场景。这里我们将深入探讨一些常用的日期比较与计算函数。 1. `UNIX_TIMESTAMP()` 函数: `UNIX_TIMESTAMP()` ...
recommend-type

mysql 索引详细介绍

- 索引列不应包含表达式或函数,如`to_days(out_date)`,应改写为`out_date(current_date, interval 30 day)`。 - 索引列长度有限制,InnoDB中索引列最大200个字符。 - 选择性高且经常被查询的列优先考虑作为索引。 ...
recommend-type

Angular实现MarcHayek简历展示应用教程

资源摘要信息:"MarcHayek-CV:我的简历的Angular应用" Angular 应用是一个基于Angular框架开发的前端应用程序。Angular是一个由谷歌(Google)维护和开发的开源前端框架,它使用TypeScript作为主要编程语言,并且是单页面应用程序(SPA)的优秀解决方案。该应用不仅展示了Marc Hayek的个人简历,而且还介绍了如何在本地环境中设置和配置该Angular项目。 知识点详细说明: 1. Angular 应用程序设置: - Angular 应用程序通常依赖于Node.js运行环境,因此首先需要全局安装Node.js包管理器npm。 - 在本案例中,通过npm安装了两个开发工具:bower和gulp。bower是一个前端包管理器,用于管理项目依赖,而gulp则是一个自动化构建工具,用于处理如压缩、编译、单元测试等任务。 2. 本地环境安装步骤: - 安装命令`npm install -g bower`和`npm install --global gulp`用来全局安装这两个工具。 - 使用git命令克隆远程仓库到本地服务器。支持使用SSH方式(`***:marc-hayek/MarcHayek-CV.git`)和HTTPS方式(需要替换为具体用户名,如`git clone ***`)。 3. 配置流程: - 在server文件夹中的config.json文件里,需要添加用户的电子邮件和密码,以便该应用能够通过内置的联系功能发送信息给Marc Hayek。 - 如果想要在本地服务器上运行该应用程序,则需要根据不同的环境配置(开发环境或生产环境)修改config.json文件中的“baseURL”选项。具体而言,开发环境下通常设置为“../build”,生产环境下设置为“../bin”。 4. 使用的技术栈: - JavaScript:虽然没有直接提到,但是由于Angular框架主要是用JavaScript来编写的,因此这是必须理解的核心技术之一。 - TypeScript:Angular使用TypeScript作为开发语言,它是JavaScript的一个超集,添加了静态类型检查等功能。 - Node.js和npm:用于运行JavaScript代码以及管理JavaScript项目的依赖。 - Git:版本控制系统,用于代码的版本管理及协作开发。 5. 关于项目结构: - 该应用的项目文件夹结构可能遵循Angular CLI的典型结构,包含了如下目录:app(存放应用组件)、assets(存放静态资源如图片、样式表等)、environments(存放环境配置文件)、server(存放服务器配置文件如上文的config.json)等。 6. 开发和构建流程: - 开发时,可能会使用Angular CLI来快速生成组件、服务等,并利用热重载等特性进行实时开发。 - 构建应用时,通过gulp等构建工具可以进行代码压缩、ES6转译、单元测试等自动化任务,以确保代码的质量和性能优化。 7. 部署: - 项目最终需要部署到服务器上,配置文件中的“baseURL”选项指明了服务器上的资源基础路径。 8. 关于Git仓库: - 压缩包子文件的名称为MarcHayek-CV-master,表明这是一个使用Git版本控制的仓库,且存在一个名为master的分支,这通常是项目的主分支。 以上知识点围绕Angular应用“MarcHayek-CV:我的简历”的创建、配置、开发、构建及部署流程进行了详细说明,涉及了前端开发中常见的工具、技术及工作流。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

深入剖析:内存溢出背后的原因、预防及应急策略(专家版)

![深入剖析:内存溢出背后的原因、预防及应急策略(专家版)](https://d8it4huxumps7.cloudfront.net/uploads/images/65e82a01a4196_dangling_pointer_in_c_2.jpg?d=2000x2000) 参考资源链接:[Net 内存溢出(System.OutOfMemoryException)的常见情况和处理方式总结](https://wenku.csdn.net/doc/6412b784be7fbd1778d4a95f?spm=1055.2635.3001.10343) # 1. 内存溢出的概念及影响 内存溢出,又称
recommend-type

Java中如何对年月日时分秒的日期字符串作如下处理:如何日期分钟介于两个相连的半点之间,就将分钟数调整为前半点

在Java中,你可以使用`java.time`包中的类来处理日期和时间,包括格式化和调整。下面是一个示例,展示了如何根据给定的日期字符串(假设格式为"yyyy-MM-dd HH:mm:ss")进行这样的处理: ```java import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.time.ZoneId; import java.time.ZonedDateTime; public class Main { public static void main(String[] args
recommend-type

Crossbow Spot最新更新 - 获取Chrome扩展新闻

资源摘要信息:"Crossbow Spot - Latest News Update-crx插件" 该信息是关于一款特定的Google Chrome浏览器扩展程序,名为"Crossbow Spot - Latest News Update"。此插件的目的是帮助用户第一时间获取最新的Crossbow Spot相关信息,它作为一个RSS阅读器,自动聚合并展示Crossbow Spot的最新新闻内容。 从描述中可以提取以下关键知识点: 1. 功能概述: - 扩展程序能让用户领先一步了解Crossbow Spot的最新消息,提供实时更新。 - 它支持自动更新功能,用户不必手动点击即可刷新获取最新资讯。 - 用户界面设计灵活,具有美观的新闻小部件,使得信息的展现既实用又吸引人。 2. 用户体验: - 桌面通知功能,通过Chrome的新通知中心托盘进行实时推送,确保用户不会错过任何重要新闻。 - 提供一个便捷的方式来保持与Crossbow Spot最新动态的同步。 3. 语言支持: - 该插件目前仅支持英语,但开发者已经计划在未来的版本中添加对其他语言的支持。 4. 技术实现: - 此扩展程序是基于RSS Feed实现的,即从Crossbow Spot的RSS源中提取最新新闻。 - 扩展程序利用了Chrome的通知API,以及RSS Feed处理机制来实现新闻的即时推送和展示。 5. 版权与免责声明: - 所有的新闻内容都是通过RSS Feed聚合而来,扩展程序本身不提供原创内容。 - 用户在使用插件时应遵守相关的版权和隐私政策。 6. 安装与使用: - 用户需要从Chrome网上应用店下载.crx格式的插件文件,即Crossbow_Spot_-_Latest_News_Update.crx。 - 安装后,插件会自动运行,并且用户可以对其进行配置以满足个人偏好。 从以上信息可以看出,该扩展程序为那些对Crossbow Spot感兴趣或需要密切跟进其更新的用户提供了一个便捷的解决方案,通过集成RSS源和Chrome通知机制,使得信息获取变得更加高效和及时。这对于需要实时更新信息的用户而言,具有一定的实用价值。同时,插件的未来发展计划中包括了多语言支持,这将使得更多的用户能够使用并从中受益。