sql - 如何在Oracle中选择特定日期

标签 sql oracle date

我只想在 Oracle 数据库中选择第 1 个和第 20 个日期。
这是我的查询。

SELECT INVOICE_DATE 
FROM invoice_debt@stilng1_lngrpt2 
WHERE INVOICE_DATE = TO_DATE('01', 'DD')
AND INVOICE_DATE = TO_DATE('20','DD')
AND INVOICE_DATE > TO_DATE('30-12-2010', 'DD-MM-YYYY')
AND INVOICE_DATE IS NOT NULL GROUP BY INVOICE_DATE 
ORDER BY INVOICE_DATE DESC;

我的查询运行这个:
  • 仅选择第一个日期
  • 仅选择第 20 个日期
  • 选择日期 > 30-12-2010

  • 但没有任何记录返回。

    我尝试使用 EXTRACT获取日期,但我不能使用 WHERE条款。
    SELECT 
    EXTRACT(DAY FROM TO_DATE(INVOICE_DATE, 'DD-MM-YY')) as DAY_EXTRACT 
    FROM invoice_debt@stilng1_lngrpt2;
    

    请帮帮我谢谢。
    :)

    最佳答案

    对日期使用 OR 条件,因为您不能将相同的 invoice_date 设为第 1 天和第 20 天,并且还使用 to_char 作为发票日期,因为 to_date 只会返回一个日期

    SELECT INVOICE_DATE 
    FROM invoice_debt@stilng1_lngrpt2 
    WHERE (to_char(INVOICE_DATE, 'DD')='01'
    OR to_char(INVOICE_DATE,'DD')='20')
    AND INVOICE_DATE > TO_DATE('30-12-2010', 'DD-MM-YYYY')
    AND INVOICE_DATE IS NOT NULL GROUP BY INVOICE_DATE 
    ORDER BY INVOICE_DATE DESC;
    

    关于sql - 如何在Oracle中选择特定日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28248436/

    相关文章:

    mysql - 使用 SELECT 命令加入

    sql - 获取存储在 RDBMS 中的对象树的最佳方法

    c# - 为什么使用参数化查询或 Entity Framework 可以防止 sql 注入(inject)?

    mysql - 表成表行

    sql - Oracle中如何选择两列作为一列进行比较

    java - 长时间运行查询超时

    mysql - Oracle数据库错误12514 : ORA-12514: TNS:listener does not currently know of service requested in connect descriptor

    java - JLabel 中的日期(Java bean)

    php - 如何在php中检查mysql日期是否不为空

    JavaScript 正则表达式将日期/时间解析为毫秒