Mysql 如何最好地存储时间范围,如周二上午10-11点?
这不是一个星期二,不仅仅是一个星期二,所以我不会用时间戳Mysql 如何最好地存储时间范围,如周二上午10-11点?,mysql,Mysql,这不是一个星期二,不仅仅是一个星期二,所以我不会用时间戳 我的意思是每周二上午10点到11点。如果当前时间在允许的时间之间,那么存储该时间的最佳方法是什么,以便于从我的Delphi应用程序中检查?听起来时间范围只是您使用的任何主要对象的一个属性,因此您可以添加一个单独的表来存储时间范围数据,例如: object_time_range id object_id day hour_start hour_end frequency_id -更新- 事后
我的意思是每周二上午10点到11点。如果当前时间在允许的时间之间,那么存储该时间的最佳方法是什么,以便于从我的Delphi应用程序中检查?听起来时间范围只是您使用的任何主要对象的一个属性,因此您可以添加一个单独的表来存储时间范围数据,例如:
object_time_range
id
object_id
day
hour_start
hour_end
frequency_id
-更新-
事后看来,我可能会把时间从列名中抽象出来,以利于时间,以防万一你需要考虑其他的时间框架。而且day应该是day_id,即使它是一个静态列表,在这种情况下我总是喜欢使用int
object_time_range
id
object_id
day_id
time_start
time_end
frequency_id
听起来时间范围只是您正在处理的任何主要对象的一个属性,因此您可以添加一个单独的表来存储时间范围数据,例如:
object_time_range
id
object_id
day
hour_start
hour_end
frequency_id
-更新-
事后看来,我可能会把时间从列名中抽象出来,以利于时间,以防万一你需要考虑其他的时间框架。而且day应该是day_id,即使它是一个静态列表,在这种情况下我总是喜欢使用int
object_time_range
id
object_id
day_id
time_start
time_end
frequency_id
将变量存储为datetime或timestamp 您可以使用mysql日期函数,例如
date_format and date_add
获取在所需日期和时间内的行
如果您将其存储为文本,这将非常困难
例如,获取过去一天的记录
select * from tableName
where dateField > date_add(now(),interval -1 day) and
dateField < now()
rows for the past one Week
select * from tableName
where dateField > date_add(now(),interval -1 week) and
dateField < now()
选中日期\u添加函数将变量存储为日期时间或时间戳 您可以使用mysql日期函数,例如
date_format and date_add
获取在所需日期和时间内的行
如果您将其存储为文本,这将非常困难
例如,获取过去一天的记录
select * from tableName
where dateField > date_add(now(),interval -1 day) and
dateField < now()
rows for the past one Week
select * from tableName
where dateField > date_add(now(),interval -1 week) and
dateField < now()
检查日期\u添加功能此帮助?如果没有,请在OP中添加更多信息,以便我能得到更好的想法。@Mawg:很高兴听到,我不太确定你要做什么。我更新了一些笔记。这有帮助吗?如果没有,请在OP中添加更多信息,以便我能得到更好的想法。@Mawg:很高兴听到,我不太确定你要做什么。我更新了一些笔记。