【发布时间】:2017-12-05 07:27:44
【问题描述】:
我使用 MySQL 的方式是让用户输入日期并在当天出现航班。我懒得输入很多日期,所以我所做的是让某些航班在某些日子运行。
表平面包含许多列,其中 dtd(column contains many days of type varchar(50)) 。
一条记录(在 dtd 中)是星期一、星期二 用户输入日期 2018-12-03,即星期一。
我的问题是如何只提取星期一的记录?(比如星期一,星期二)??
我试过 select.....where instr(day(2018-12-03),dtd)0 但我意识到 instr 在 2 种情况下给出 0 1. 字符不在记录中或 2.发生在开始。
像 instr(h,hello) 和 instr(a,hello) 一样给出 0。
请帮忙
【问题讨论】:
-
将日期(时间)保存为日期(时间)而不是字符串。
-
没有列 dtd 有天数
-
就像一个记录有'星期一,星期二'
-
'monday,tuesday'也很糟糕。创建另一个包含列flight_id (or another id fromt his table) | day的表。数据将作为1 | monday, 1 | tuesday, ...