【发布时间】:2021-08-06 07:26:00
【问题描述】:
假设我将日期列值插入为
TO_DATE('06/08/2021', 'DD/MM/YYYY')
我想在 Golang 中将这个专栏 valid_till 比较为
_err := database.GetDbReadClient().Raw("SELECT * from base_configs WHERE tenant = ? AND valid_till <= ?", tenant, time.Now()).Scan(&baseConfig).Error
time.Now() 不起作用。但我不知道如何去比较日期。
我在 Postgres 中的插入是否正确?
如果是这样,我可以写什么来代替时间。现在将其与valid_tillcolumn 进行比较?
【问题讨论】:
-
time.Now().Format("02/01/2006")? -
这能回答你的问题吗? Golang parse strange date format
-
这是
time包使用的参考日期。 pkg.go.dev/time#pkg-constants "布局中使用的参考时间是具体时间:Mon Jan 2 15:04:05 MST 2006,即Unix时间1136239445。由于MST是GMT-0700,所以参考时间可以认为是01/02 03 :04:05PM '06 -0700" 即选择特定时间是因为可以在其中识别出整齐的序列 1,2,3,4,5,6,7。跨度> -
如果您只是在查询中执行
valid until now,您可以直接在查询中执行valid_till <= now()
标签: postgresql go go-gorm