我将我的一个 MySQL 数据库表用作实际表,每一列是一天中的时间,一列称为 day。你猜对了,在 day 中它表示一周中的哪一天,而在其余单元格中它表示当时正在发生的事情。
我想做的只是显示其中有价值的单元格。就我而言,我总是将所有行和 2 列都填满。两列是“day”和“19:00”,但是将来我可能会为“18:00”等添加值。
那么,我怎样才能只选择其中包含数据的列和行呢?某种类型的“哪里:有数据”?
谢谢!
编辑:图片
将时间或日期作为列意味着您的字段名称中有数据。数据属于表内,因此您应该规范化数据库:
table Calendar
--------------
Day
TimeOfDay
Appointment
这样您就不会在表中得到很多空字段,并且您不必更改数据库设计来添加一天中的另一个时间。
现在您可以轻松地仅获取存在的时间:
select Day, TimeOfDay, Appointment from Calendar
从我收集到的内容来看,您正在寻找类似的东西
WHERE col1 IS NOT NULL
但是,如果您可以详细说明您的模式,这将很有帮助,特别是如果您可以绘制示例表。