mysql中between and的範圍問題

2021-09-10 17:16:43 字數 955 閱讀 7944

在手寫sql的時候,有時候對於時間範圍,會經常使用between–and,當時有時候會被它坑,只能說沒有理解清楚between–and的邏輯及範圍判斷,以及對於python中datetime構造時間的理解有誤。

start_time = datetime(2019, 1, 1)

end_time = datetime(2019, 1, 31)

condition =

select

*from your_table

where your_table.your_time between %(start_time)s and %(end_time)s

這樣你並不會統計到1月31日的資料,因為傳到sql中的時間為『2019-01-31 00:00:00』,所以統計不到。

以下為一些統計測試:

select if(7.1 between 6 and 7, 1, 0);

-- 0

select if('2019-01-31 12:12:12' between '2019-01-01' and '2019-01-31', 1, 0);

-- 0

select if('2019-01-31' between '2019-01-01' and '2019-01-31', 1, 0);

-- 1

select if('2019-01-31 00:00:00' between '2019-01-01' and '2019-01-31', 1, 0);

-- 0

select if('2019-01-31 00:00:00' between '2019-01-01' and '2019-01-31 00:00:01', 1, 0);

-- 1

祝大家新年快樂

豬年大吉

php中mysql函式 php中mysql有關函式

1.mysql query 一般是用來查詢資料裡面的資料。如 username post name sql select from members where login name username result mysql query sql 以上程式是檢測資料庫中是否存在表單傳送過來的使用者名稱...

mysql中 變數 mysql中的變數

toc 變數 mysql本質是一種程式語言,需要很多變數來儲存資料。mysql中很多的屬性控制都是通過mysql中固有的變數來實現的。系統變數 系統內部定義的變數,系統變數針對所有使用者 mysql客戶端 有效。檢視系統所有變數 show variables like pattern mysql允許...

mysql中 變數 MYSQL中的變數 MySQL

bitscn.com 只記很基礎的知識,細節東西太麻煩了,而且我也用不到。變數分為使用者變數與系統變數。使用者變數 使用者變數與資料庫連線有關,在這個連線中宣告的變數,在連線斷開的時候,就會消失。在此連線中宣告的變數無法在另一連線中使用。使用者變數的變數名的形式為 varname的形式。名字必須以 ...