PgSQL 日期查詢記錄

2022-08-12 09:21:21 字數 614 閱讀 1016

昨天有個需求給我整懵了,db裡有:

#  days         :integer, comment: '有效期'

# actived_at :datetime, comment: '啟用日期'

但是啟用日期可能為空,在啟用的時候沒有記錄過期日期,是通過計算的,然後我 sql 有點菜,搞了大半天才搞出來,所以記錄一下,需求:

其實很簡單了,只不過是我太菜了...,邏輯上就是:

三天內到期:啟用日期(actived_at) + 有效期(days)在 date.today..3.days.after的範圍內,so,ruby**:

# actived_at is not null 是去除未啟用的

scope :three_days_expired, ->

今日到期:啟用日期(actived_at) + 有效期(days)= date.today,**:

# actived_at is not null 同上

scope :due_today, ->

pgsql 記錄型別

記錄型別 見如下形式的變數宣告 namerecord 記錄變數類似於行型別變數,但是它們沒有預定義的結構,只能通過select或for命令來獲取實際的行結構,因此記錄變數在被初始化之前無法訪問,否則將引發執行時錯誤。注 record不是真正的資料型別,只是乙個佔位符。基本語句 1.賦值 pl pgs...

如何查詢出連續日期記錄

截圖如下 insus.net嘗試寫了程式並做了測試,可以得到預期的結果,sql 可參考和學習之用。建立乙個臨時表,將會儲存連續日期的記錄 create table temp idd varchar 10 sdate datetime declare sddatetime 開始日期 declare e...

oracle查詢下條記錄日期做為上條記錄的結束日期

查詢當前記錄的 下一條記錄 select t.id,lead t.id,1,0 over order by t.sort,t.eidt date as p from cms article t 使用lead方法,對日期字段進行排序,將查詢到的下條記錄日期追加到上條記錄上 select t.emp n...