繁体   English   中英

使用sysdate的SQL

[英]SQL using sysdate

我已经更新了SAD_PB_CAS_STATDT字段的值等于sysdate,即今天的日期。 现在的问题是,当我使用该SAD_PB_CAS_STATDT = sysdate查询某些内容时,它不返回任何内容。

请参阅下面的我的sql代码:

SELECT EMPLID, ACAD_CAREER, STDNT_CAR_NBR, ADM_APPL_NBR, APPL_PROG_NBR, 
SAD_PB_CAS_STATUS, SAD_PB_CAS_STATDT
FROM PS_SAD_PB_CAS
WHERE SAD_PB_CAS_STATUS IN ('ASG', 'USD') 
AND SAD_PB_CAS_STATDT = sysdate;

我猜想它与sysdate的返回类型有关吗? 它返回带有日期和时间的东西吗? 我可以在条件下使用sysdate进行查询,对您有所帮助。

正如其他人提到的那样,在发布问题之前,请始终检查文档(包括堆栈溢出)。 有几种方法可以使您的查询工作,但我建议使用以下WHERE子句:

WHERE
    SAD_PB_CAS_STATUS IN ('ASG', 'USD') AND
    SAD_PB_CAS_STATDT >= CURDATE() AND               -- today at midnight
    SAD_PB_CAS_STATDT < CURDATE() + INTERVAL 1 DAY;  -- tomorrow at midnight

之所以喜欢这种方法,而不是将SAD_PB_CAS_STADT列仅转换为日期,是因为上述方法允许在该列上使用索引(如果存在)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM