活动的时间有几种形式:
- 年月日 2023/8/1 - 2023/8/15
- 月日 8/1 - 8/15
- 月份 3,4,8,9
要通过日期来查询和排序,如果只是日期查询还好一些,可以用一个日期->活动的索引表来解决,关键还有其他字段的查询。。。
活动的时间有几种形式:
要通过日期来查询和排序,如果只是日期查询还好一些,可以用一个日期->活动的索引表来解决,关键还有其他字段的查询。。。
|
xuelangAug 24, 2023
1
将开始日期和结束日期作为单独的字段存储。
``` CREATE TABLE activities ( id SERIAL PRIMARY KEY, start_date DATE, end_date DATE, -- 其他字段 ); ``` 查询和排序: SELECT * FROM activities WHERE start_date >= '2023-08-01' AND end_date <= '2023-08-15' ORDER BY start_date; |
|
kongkxAug 24, 2023 via iPhone
3
参考一下 ical data model 。 这几种形式可以配合类型标记,进行 Humanize 展示
|
|
xiaohundunAug 24, 2023
5
把 yyyy-mm-dd 拆开都存下来呢
|
|
dodeAug 24, 2023 via Android
6
日期数据库归一化
|
|
7
@xiaohundun 跨年如何查询呢?
|
|
xiaohundunAug 24, 2023
8
时间拆为年月日之后,用 between and 确定各个部份的范围不就好了么,如果不是范围那就用字面量条件,不挺简单,难道我没理解你的意思?
|
|
9
@xiaohundun 比如:12/1 - 2/1 这种可以用 between and ?
|
|
xiaohundunAug 24, 2023
10
@sunzy 2-12 可以用,12-2 用不了但可以确定区间吧?处理一下变成 IN 查询不就行了,伪 sql:
month in (12,1,2) and day = 1 |