我正在尝试创建一个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。
答案 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';"