我有两张table。 jobs
以及 company
格式如下:
表1 jobs
```
company_name job_title category job_posted_date
============ ================= =========== ===============
ibm xamarin developer it jobs 26-09-2018
tech mahindra php developer it jobs 27-09-2018
milkyway java developer it jobs 15-08-2018
表2 `company` ```
company_name company_logo
============ ============
ibm logo_ibm.png
tech mahindra logo_tech.png
milkyway logo_milkyway.png
我的问题是:
SELECT company.company_logo, post_jobs.company_name, jobs.job_title, jobs.job_posted_date
FROM company
INNER JOIN jobs
on jobs.company_name = company.company_name
WHERE jobs.category = 'it Jobs' and (jobs.job_posted_date between '01-09-2018' and '01-10-2018')
ORDER BY jobs.job_posted_date desc
当我点击这个查询并在 01-09-2018
至 01-10-2018
我看不出数据在两个日期之间的位置。那么我该如何解决这个问题呢?请帮帮我。
谢谢您
2条答案
按热度按时间wko9yo5t1#
我发现你的电脑有问题
job_posted_date
列。可能您正在存储文本日期。假设不是,并且是真实日期列,您可以尝试以下查询:注意,我比较了有效的mysql日期文本,例如
'2018-09-01
'. 你使用的格式不起作用。如果
job_posted_date
列实际上是以文本日期的格式编写故事DD-MM-YYYY
,那么你就得利用STR_TO_DATE
要首先转换它们:这个故事的寓意是在mysql中存储日期信息时总是使用一个适当的日期列。并始终将有效的日期/时间文本与这些列进行比较。
pcww981p2#
您的日期格式有误。在您的查询中,日期格式必须与保存在数据库中的日期格式相同,即(yyyy-mm-dd),因此根据新的查询,如下所示:
查询的输出也在所附的屏幕截图中。https://i.stack.imgur.com/t2swb.png