有一張表的一個欄位為有效期欄位
想是想查詢資料
查詢當天起 30天內要過期的資料。
用了下面的陳述句
select * from AIC_Base_Card where DateDiff(dd,CA_EndDatetime,getdate())<=30
但發現發早于當天日志 但相減時間30天內的資料也查出來了 。有什么辦法 只查詢 大于當前時間后的時間去減去有效期結束時間 而門組30天的方法嗎
請教
uj5u.com熱心網友回復:
查詢當天起 30天內要過期的資料。這要看 30 天,你是怎么定義的,要不要精確到秒。
建議寫成這樣的,性能要好(這列 如果加了索引,能用到)
where CA_EndDatetime <= getdate() - 30
uj5u.com熱心網友回復:
比如今天是5.27,我想查有效期再5.27~6.27區間內的資料,30天的資料
uj5u.com熱心網友回復:
selectconvert(varchar(10),getdate(),121) C1,
convert(varchar(10),dateadd(month, 1, getdate()), 121) C2,
convert(varchar(10),dateadd(month, 1, getdate()+1), 121) C3
C1 C2 C3
---------- ---------- ----------
2020-05-27 2020-06-27 2020-06-28
(1 行受影響)
完成時間: 2020-05-27T08:44:43.1865329+08:00
uj5u.com熱心網友回復:
樓上的就可以。uj5u.com熱心網友回復:
比如不好意思
我按您的陳述句 確實有這個效果
但我的實際資料為
卡片 截至日期
0001 2020-05-01
0002 2020-06-03
0003 2020-06-25
0004 2020-05-20
我在2020-05-27執行查詢 想要的結果為
0002 2020-06-03
0003 2020-06-25
以2020-05-27為節點 往后30天內過期的資料
這個要怎么實作
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/29636.html
標籤:基礎類
上一篇:三個欄位匯總統計行數
下一篇:為什么找不到MySql的組態檔?
