[英]Best way to search a comma separated mysql field
我已经获得了将2个mysql字段合并为一个,然后进行合并以便可以搜索新字段的任务。 我必须在我的数据库中合并这两个字段,前一个注册年份和当前注册的年份。 这两个字段的格式均为dd / mm / yyyy。 我将这些字段组合成一个字段,称为“注册年数”,尽管其格式仍为dd / mm / yyyy,但注册的年数之间用逗号(,)分隔。 我想知道如何在此列上执行几种不同类型的查询。 我必须执行的mysql查询是:Show All(),在日期之间显示所有:mm / yyyy和mm / yyyy,之前:mm / yyyy,之后:mm / yyyy
任何帮助将不胜感激。
谢谢你的时间。
不要这样做! 我不知道这是怎么可能的(我假设存储过程中的某些SQL Stringoperations和Datefunctions),但这肯定会破坏数据库的性能。 为此使用关系。
这是:
如果必须支持现有平台,请使用同时支持这两种选择的代码库。 与使用逗号分隔的列表相比,此方法仍然更容易维护且更好
我不喜欢它,但是如果您需要,可以使用下一个解决方案:
使用start_date = STR_TO_DATE(SUBSTRING(your_new_field,1,10))和end_date = STR_TO_DATE(SUBSTRING(your_new_field,12,10))提取日期
你的数据库将打破“第一标准化表格(1NF)”和将是非常 ineffecient。
为了搜索选定的日期,您要么必须查询表中的所有行,要么使用同样很慢的LIKE
。
要求您执行此操作的人应阅读有关数据库规范化的文章 。
使用两个DATE
或DATETIME
字段并在MySQL外部格式化它们又怎么了?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.