在精确时间之间查询

时间:2013-11-20 01:51:41

标签: mysql sql bash shell

我正在尝试创建一个bash脚本,该脚本将在前一天的上午12点到晚上11:59之间准确地查询SQL数据库。

目前我有:

QUERY="SELECT * FROM CUSTOMER WHERE CUSTOMER.CREATE_DATE >= ( CURDATE() - INTERVAL 1 DAY ) INTO OUTFILE '/stuff/a.csv' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';"

所以基本上我想用上面描述的内容替换CURDATE() - INTERVAL 1 DAY。

我无法对其进行硬编码,因为这一天一直在变化,我对bash / SQL语法不够熟悉,不知道如何更改上面的查询。

CURDATE()也可以解决这个问题,但我希望有人来验证这一点。

编辑:这是MySQL。

1 个答案:

答案 0 :(得分:1)

QUERY="SELECT * FROM CUSTOMER WHERE CUSTOMER.CREATE_DATE >= ( CURDATE() - INTERVAL 1 DAY ) and TIME(CUSTOMER.CREATE_DATE) >= '12:00' and TIME(CUSTOMER.CREATE_DATE) <= '23:59' INTO OUTFILE '/stuff/a.csv' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';"