2016-05-30 28 views
1

我需要選擇行時日期等於特定日期,其中作爲TIMESTAMP列包含日期時間。sql查詢選擇日期從datetime等於行

這工作得很好,

select USERNAME from ACCESSACTIVITY where UPPER(LOCATION)=UPPER('remote-PC')and TIMESTAMP = STR_TO_DATE('28-05-2016 01:00:00','%d-%m-%Y %H:%i:%s') 

在那裏,當我避開時間,這是行不通的。

select USERNAME from ACCESSACTIVITY where UPPER(LOCATION)=UPPER('remote-PC')and TIMESTAMP = STR_TO_DATE('28-05-2016 ','%d-%m-%Y') 

回答

1

你不需要通配符。 嘗試此:

select USERNAME from ACCESSACTIVITY where UPPER(LOCATION)=UPPER('remote-PC')and DATE(TIMESTAMP) = STR_TO_DATE('28-05-2016 ','%d-%m-%Y') 
2

用途:

select USERNAME from ACCESSACTIVITY where UPPER(LOCATION)=UPPER('remote-PC')and TIMESTAMP LIKE STR_TO_DATE('28-05-2016 ','%d-%m-%Y')+'%' 
0

timestamp假設存儲爲datetime,然後使用不等式:

select USERNAME 
from ACCESSACTIVITY 
where UPPER(LOCATION)=UPPER('remote-PC') and 
    TIMESTAMP >= DATE('2016-05-28') AND 
    TIMESTAMP < DATE('2016-05-29'); 

這允許數據庫引擎如果適當的索引可用使用索引上TIMESTAMP