假设我有一个包含名称字段的简单mysql表,该字段只是一个varchar。 name字段包含以下格式的字符串。 "频道名称,UNIX_TIMESTAMP,UNIX_TIMESTAMP&#34 ;.例如" bbc1,123456789,123456889&#34 ;.我需要选择通道名匹配的所有行,以及给定时间戳落在2个时间戳范围内的位置。例如,给定时间戳123456800,以及频道名称' bbc1'应选择上述记录。
我如何做到这一点,首先选择所有记录,其名称为' bbc1,%'拆分调用代码中的两个时间戳字段,并将结果过滤到包含给定时间戳的那些字段。是否有更好,更有效的方式。我的数据库可能有大量的记录符合" bbc1,%'"等名称,并且只会随着时间的推移而增长。
我很遗憾没有能力改变表格来添加两个时间戳字段,我唯一要做的就是单个字段字段。对于某些记录,名称字段可能包含一些不是给定格式的任意字符串,但是以给定频道名称开头的所有记录都应与此格式匹配。