3

我将我的一个 MySQL 数据库表用作实际表,每一列是一天中的时间,一列称为 day。你猜对了,在 day 中它表示一周中的哪一天,而在其余单元格中它表示当时正在发生的事情。

我想做的只是显示其中有价值的单元格。就我而言,我总是将所有行和 2 列都填满。两列是“day”和“19:00”,但是将来我可能会为“18:00”等添加值。

那么,我怎样才能只选择其中包含数据的列和行呢?某种类型的“哪里:有数据”?

谢谢!

编辑:图片数据库

4

2 回答 2

2

将时间或日期作为列意味着您的字段名称中有数据。数据属于表内,因此您应该规范化数据库:

table Calendar
--------------
Day
TimeOfDay
Appointment

这样您就不会在表中得到很多空字段,并且您不必更改数据库设计来添加一天中的另一个时间。

现在您可以轻松地仅获取存在的时间:

select Day, TimeOfDay, Appointment from Calendar
于 2010-06-24T07:56:37.537 回答
1

从我收集到的内容来看,您正在寻找类似的东西

WHERE col1 IS NOT NULL

但是,如果您可以详细说明您的模式,这将很有帮助,特别是如果您可以绘制示例表。

于 2010-06-24T07:45:04.767 回答