MySQL中以日期為查詢條件的方法

2021-09-07 19:36:03 字數 2256 閱讀 2094

假如有個表product有個字段add_time,它的資料型別為datetime,有人可能會這樣寫sql:

**如下

複製**

select * from product where add_time = '2013-01-12'

對於這種語句,如果你儲存的格式是yy-mm-dd是這樣的,那麼ok,如果你儲存的格式是:2013-01-12 23:23:56這種格式你就悲劇了,這是你就可以使用date()函式用來返回日期的部分,所以這條sql應該如下處理:

**如下

複製**

select * from product where date(add_time) = '2013-01-12'

如果按照日期+時間模式(2013-01-12 23:23:56—時間精確到秒)查詢資料庫,則可以使用timestamp()函式來查詢:

select * from product where timestamp(add_time) = '2013-01-12 23:23:56';

或者查詢乙個時間範圍,可以用:

select * from product where timestamp(add_time) between '2013-01-12 03:23:56' and '2013-01-12 23:23:56';

再來乙個,如果你要查詢2023年1月份加入的產品呢?

**如下

複製**

select * from product where date(add_time) between '2013-01-01' and '2013-01-31'

你還可以這樣寫:

select * from product where year(add_time) = 2013 and month(add_time) = 1

這些你該知道mysql日期函式在對你處理日期比較問題的作用了吧?

其date_col的值是在最後30天以內:

**如下

複製**

mysql> select something from table 

where to_days(now()) - to_days(date_col) <= 30;

dayofweek(date) 

返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六)。這些索引值對應於odbc標準。

**如下

複製**

mysql> select dayofweek('1998-02-03'); 

-> 3

weekday(date) 

返回date的星期索引(0=星期一,1=星期二, ……6= 星期天)。

**如下

複製**

mysql> select weekday('1997-10-04 22:23:00'); 

-> 5 

mysql> select weekday('1997-11-05'); 

-> 2

dayofmonth(date) 

返回date的月份中日期,在1到31範圍內。

**如下

複製**

mysql> select dayofmonth('1998-02-03'); 

-> 3

dayofyear(date) 

返回date在一年中的日數, 在1到366範圍內。

**如下

複製**

mysql> select dayofyear('1998-02-03'); 

-> 34

month(date) 

返回date的月份,範圍1到12。

**如下

複製**

mysql> select month('1998-02-03'); 

-> 2

dayname(date) 

返回date的星期名字。

**如下

複製**

mysql> select dayname("1998-02-05"); 

-> 'thursday'

monthname(date) 

返回date的月份名字。

**如下

複製**

mysql> select monthname("1998-02-05"); 

-> 'february'

quarter(date) 

返回date一年中的季度,範圍1到4。

**如下

複製**

mysql> select quarter('98-04-01'); 

-> 2

MySQL中以日期為查詢條件的方法

1.儲存的格式是yy mm dd型別時查詢 假如表product有欄位add time,它的資料型別為datetime,寫sql如下 如下 複製 select from product where add time 2019 01 12 對於這種語句,適合儲存的格式是yy mm dd型別的 1.da...

mysql以一張表的字段為條件查詢另外一張表

試了好久,差點動用儲存過程和觸發器,然而專案不讓寫儲存過程就很 我的例子 城市表,cityid,cityname,provinceid 任務表,taskid,region 這個就是城市 字段 要求 根據省id查詢所有市,並且通過市id查詢市下面任務數 select city.cityname,sel...

mysql查詢條件 Mysql查詢條件的使用

mysql查詢條件的使用 方法 解釋 gt 大於 gte 大於等於 lt 小於 lte 小於等於 例如 article article.objects.filter id gt 5 startswith 以指定某個字串開始,大小寫敏感 istartswith 以指定某個字串開始,大小寫不敏感 end...