2017-03-29 61 views
0

日之間使用條款我有這個疑問:我如何可以查詢其中斯芬克斯

select * from tabel where last_purchase_categories = 'flight' 
and last_purchase_date between '2016-10-23 11:06:47' and '2016-10-23 11:06:49'; 

它是在獅身人面像沒有工作。我使用mysql查詢瀏覽器進行全文搜索。 有誰知道如何在獅身人面像中使用日期格式?

回答

-2

讓我們試試這個

它會工作。

SELECT count(*) FROM `tabel` 
where last_purchase_categories = 'flight' and 
    last_purchase_date between '2017-03-27 02:13:11' and '2017-03-27 02:13:20' 
+0

不,它沒有工作到 –

+1

我找不到任何區別你的查詢和他的選擇部分除外! –

0

我認爲這是因爲last_purchase_date的數據類型是字符串。這就是爲什麼我不能使用查詢

0

井sphinx不能這樣做的字符串比較,至少與之間(假設你有一個字符串屬性中的日期)。並且不存在'日期時間'屬性類型。

可以將日期放在簡單的數字屬性中,並對其進行比較。

Unix時間戳可能比較方便,可以做到在獅身人面像的配置文件(使用mysql unix_timestamp()功能)

sql_query = SELECT ..., UNIX_TIMESTAMP(last_purchase_date) AS last_purchase_date FROM ... 
sql_attr_uint = last_purchase_date 

然後查詢會是這樣的

select * from tabel where last_purchase_categories = 'flight' 
and last_purchase_date between 1477217207 and 1477217209; 

大多數編程語言都有方便將日期轉換爲時間戳的功能。