这是MySQL文档所说的NOW()
:
返回当前日期和时间作为值的形式YYYY-MM-DD HH:MM:SS
或
YYYYMMDDHHMMSS.uuuuuu
格式,具体取决于该函数是在字符串上下文中还是在数字上下文中使用。该值以当前时区表示。
mysql> SELECT NOW();
-> '2007-12-15 23:50:26'
mysql> SELECT NOW() + 0;
-> 20071215235026.000000
现在,您当然可以将智能约会减少到更少...
SELECT (
date_part('year', NOW())::text
|| date_part('month', NOW())::text
|| date_part('day', NOW())::text
|| date_part('hour', NOW())::text
|| date_part('minute', NOW())::text
|| date_part('second', NOW())::text
)::float8 + foo;
但是,那将是一个非常糟糕的主意,您需要了解的是时间和日期不是愚蠢的无格式数字,它们是属于自己的类型,具有自己的一组函数和运算符
因此,MySQL时间本质上允许您将其NOW()
视为哑巴类型,或者它被覆盖+
以做出我在MySQL文档中找不到的假设。无论哪种方式,您都可能希望查看pg中的date
和interval
类型。
now()::date + 100
代表什么并不明显。是否存在比INTERVAL数学更需要整数数学的情况?