我正在解析命令的输出,该命令生成Mon 2/5 16:36
形式的日期条目,并将其加载到mysql中。目前,awk
正在解析这些行并为INSERT
离子准备数据。理想情况下,我希望使用STR_TO_DATE
函数或类似函数为自己生成时间戳。
然而,该功能在没有一年的情况下无法运作。我不能说服产生这个日期的命令给我一年,虽然我知道它将来永远不会产生约会。如果日期> 1岁,我不确定会发生什么,因为我从未见过这种情况。因此,我希望这一年成为最新的一年,使得日期有效,但不比NOW()
更新。
有没有办法在纯SQL中执行此操作?
一些例子,好像是在2018年2月5日17:00解决:
答案 0 :(得分:0)
我让这个工作:
mysql> SELECT STR_TO_DATE(CONCAT('Sun 2/4 16:42', YEAR(NOW())), '%a %c/%e %H:%i%Y') AS datetime;
+---------------------+
| datetime |
+---------------------+
| 2018-02-04 16:42:00 |
+---------------------+
然后测试结果datetime > NOW()
是否如此,重新计算:
mysql> SELECT @datetime - INTERVAL 1 YEAR AS datetime;
+---------------------+
| datetime |
+---------------------+
| 2017-02-04 16:42:00 |
+---------------------+