搜尋以 varchar 形式儲存在 MySQL 中的日期之間的值?
您可以使用 STR_TO_DATE() 搜尋以 varchar 形式儲存的日期之間的值。其語法如下 −
select *from yourTableName where STR_TO_DATE(LEFT(yourColumnName,LOCATE('',yourColumnName)),'%m/%d/%Y') BETWEEN 'yourDateValue1' AND 'yourDateValue2’;為了理解上述語法,讓我們建立一個表。建立表的查詢如下 −
mysql> create table SearchDateAsVarchar -> ( -> Id int NOT NULL AUTO_INCREMENT, -> ShippingDate varchar(100), -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.99 sec)
使用 INSERT 命令在表中插入一些記錄。查詢如下 −
mysql> insert into SearchDateAsVarchar(ShippingDate) values('6/28/2011 9:58 AM');
Query OK, 1 row affected (0.19 sec)
mysql> insert into SearchDateAsVarchar(ShippingDate) values('6/18/2011 10:50:39 AM');
Query OK, 1 row affected (0.55 sec)
mysql> insert into SearchDateAsVarchar(ShippingDate) values('6/22/2011 11:45:40 AM');
Query OK, 1 row affected (0.18 sec)使用 select 語句顯示錶中的所有記錄。查詢如下 −
mysql> select *from SearchDateAsVarchar;
以下是輸出 −
+----+-----------------------+ | Id | ShippingDate | +----+-----------------------+ | 1 | 6/28/2011 9:58 AM | | 2 | 6/18/2011 10:50:39 AM | | 3 | 6/22/2011 11:45:40 AM | +----+-----------------------+ 3 rows in set (0.00 sec)
以下是可以搜尋以 varchar 形式儲存的日期之間的值的查詢 −
mysql> select *from SearchDateAsVarchar where
STR_TO_DATE(LEFT(ShippingDate,LOCATE(' ',ShippingDate)),'%m/%d/%Y') BETWEEN
'2011-06-20' AND '2011-06-28';以下是輸出 −
+----+-----------------------+ | Id | ShippingDate | +----+-----------------------+ | 1 | 6/28/2011 9:58 AM | | 3 | 6/22/2011 11:45:40 AM | +----+-----------------------+ 2 rows in set (0.00 sec)
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP