MYSQL - 选择两个日期

时间:2018-04-11 06:15:15

标签: mysql date datetime

所以我有这张桌子

+------------+------------+---------------+-----------------+------------+
| ID_Client  | Code_House | Jangka_Kredit | Angsuran_Kredit | Date       |
+------------+------------+---------------+-----------------+------------+
| PR-331     | HM-0023    | 5 Years       |        10500000 | 2010-11-20 |
| PR-331     | HM-0045    | 3 Years       |         4800000 | 2011-04-02 |
| PR-331     | HM-0050    | 3 Years       |         5200000 | 2011-05-03 |
| PR-332     | HM-0024    | 10 Years      |          800000 | 2010-06-08 |
| PR-333     | HM-0035    | 8 Years       |         2000000 | 2011-03-13 |
| PR-334     | HM-0036    | 5 Years       |         2900000 | 2012-08-03 |
+------------+------------+---------------+-----------------+------------+

并希望在2010年初至2011年底之间选择数据。 我尝试了很多格式但没有一种工作

*实际上我有一些表格并从2010年到2012年之间的某些字段中选择数据

-Update 我为一张桌子尝试了这个,它可以工作

where date(Date) between '2010-01-01' and '2012-01-01' ;

现在我必须在2个日期之间调用某些表中的某些特定字段, 继承人我试过的事情

 select Pembeli.ID_Pembeli,Pembeli.Nama_Pembeli,Taip_Rumah.Type_Rumah,Info_Rumah.Taip_Rumah.Kategori_Rumah,Info_Rumah.Harga_Rumah,Transaksi.Jangka_Kredit
    -> from Transaksi,Pembeli,Info_Rumah,Taip_Rumah
    -> where Pembeli.ID_Pembeli=Transaksi.ID_Pembeli and Info_Rumah.Kode_Rumah=Transaksi.Kode_Rumah and Info_Rumah.Kategori_Rumah=Taip_Rumah.Kategori_Rumah
    -> where date(Date) between '2010-01-01' and '2012-01-01' ;

它不起作用

1 个答案:

答案 0 :(得分:0)

那是因为你不能在同一个句子中有两个WHERE子句。您必须使用AND更改第二个WHERE子句,如下所示:

select Pembeli.ID_Pembeli,
       Pembeli.Nama_Pembeli,
       Taip_Rumah.Type_Rumah,
       Info_Rumah.Taip_Rumah.Kategori_Rumah,
       Info_Rumah.Harga_Rumah,T
       ransaksi.Jangka_Kredit
from Transaksi,Pembeli,Info_Rumah,Taip_Rumah
where Pembeli.ID_Pembeli=Transaksi.ID_Pembeli and 
      Info_Rumah.Kode_Rumah=Transaksi.Kode_Rumah and 
      Info_Rumah.Kategori_Rumah=Taip_Rumah.Kategori_Rumah
      AND date(Date) between '2010-01-01' and '2012-01-01' ;