TO_SECONDS()

函数说明

TO_SECONDS(expr) 函数用于计算给定日期或日期时间 expr 与公元 0 年 1 月 1 日 0 时 0 分 0 秒之间的秒数差。如果 expr 是 NULL,则返回 NULL。

Note

0000-00-00 和 0000-01-01 日期本身被视为无效。MatrixOne 年份查询应该从 0001 年开始。查询 0000-00-00 和 0000-01-01,TO_SECONDS() 返回报错信息:

1. mysql> SELECT TO_SECONDS('0000-00-00');
2. ERROR 20301 (HY000): invalid input: invalid datatime value 0000-00-00
3. mysql> SELECT TO_SECONDS('0000-01-01');
4. ERROR 20301 (HY000): invalid input: invalid datatime value 0000-01-01

与 TO_DAYS() 函数相似,例如查询 SELECT TO_SECONDS('08-10-07');,MatrixOne 将年份 08 自动补全为 0008,与 MySQL 不同。更多信息,参见日期中的两位数年份。

函数语法

1. > TO_SECONDS(expr)

expr 是日期时间值,可以是 DATETIME、DATE 或 TIMESTAMP 类型。

示例

1. mysql> SELECT TO_SECONDS('0001-01-01');
2. +------------------------+
3. | to_seconds(0001-01-01) |
4. +------------------------+
5. |               31622400 |
6. +------------------------+
7. 1 row in set (0.00 sec)

9. mysql> SELECT TO_SECONDS('2023-07-12 08:30:00');
10. +---------------------------------+
11. | to_seconds(2023-07-12 08:30:00) |
12. +---------------------------------+
13. |                     63856369800 |
14. +---------------------------------+
15. 1 row in set (0.00 sec)

17. mysql> SELECT TO_SECONDS('2007-10-07');
18. +------------------------+
19. | to_seconds(2007-10-07) |
20. +------------------------+
21. |            63358934400 |
22. +------------------------+
23. 1 row in set (0.00 sec)

25. mysql> SELECT TO_SECONDS('97-10-07');
26. +----------------------+
27. | to_seconds(97-10-07) |
28. +----------------------+
29. |           3085257600 |
30. +----------------------+
31. 1 row in set (0.00 sec)