簡體   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