使用Timestamp Datatype

问题描述 投票:0回答:3

I创建了由上述模式定义的表和插入值。我在

ISS_DATE
中使用了timestamp
,因此系统自动将当前日期作为

ISS_DATE的默认值占据。 现在,我必须列出所有学生和书籍名称,作者在特定日期(例如06-08-2019)发行。 我写了这个查询: SELECT student.stud_name, book.book_name, book.author,iss_rec.iss_date FROM student, book, iss_rec, membership WHERE student.stud_no = membership.stud_no AND membership.Mem_no = iss_rec.Mem_no AND book.book_no = iss_rec.book_no AND iss_date = '2019-08-06'

但什么都没有!每当我切断最后一行时:AND iss_date = '2019-08-06'都会产生列表。但是,我该如何获得我前面提到的特定日期的列表呢?

我不想要小时:分钟:第二,只有yyyy-mm-dd.

	

您可以使用

DATE
函数 AND DATE(iss_date) = '2019-08-06';

mysql sql datetime timestamp
3个回答
3
投票

仅将您的查询写为:

AND iss_date >= '2019-08-06'
AND iss_date <  '2019-08-07'

或更方便:

2
投票

尽管这看起来很长,但它可以更有效地使用索引。

注意我们停止以这种方式编写查询。 1992。来。加入我们

fwiw,我发现这更容易阅读...

SELECT s.stud_name , b.book_name , b.author , r.iss_date FROM student s JOIN membership m ON m.stud_no = s.stud_no JOIN iss_rec r ON r.Mem_no = m.Mem_no JOIN book b ON b.book_no = r.book_no WHERE r.iss_date BETWEEN '2019-08-06 00:00:00' AND '2019-08-06 23:59:59';
    

您是您的经验,并分享了他们的意见来使他们做出


0
投票

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.