【问题标题】:Querying between precise times在精确时间之间查询
【发布时间】:2013-11-20 01:51:40
【问题描述】:

我正在尝试创建一个 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。

【问题讨论】:

  • 你需要告诉我们它是什么RDBMS(MySQL、ORACLE、sqlite),不同厂商的广告日期功能略有不同

标签: mysql sql bash shell


【解决方案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';"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-08
    • 2019-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多