我有这个问题:
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查询浏览器进行全文搜索。 有谁知道如何在sphinx中使用日期格式?
答案 0 :(得分:0)
我认为这是因为last_purchase_date的数据类型是字符串。这就是为什么我不能在查询之间使用
答案 1 :(得分:0)
狮身人面像不能像这样进行字符串比较,至少在两者之间(假设你在字符串属性中有日期)。而且没有一个“约会时间”' 属性也可以输入。
可以将日期放在简单的数字属性中,并对其进行比较。
Unix时间戳可能很方便,可以在sphinx配置文件中使用(使用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;
大多数编程语言都有将日期转换为时间戳的便捷功能。
答案 2 :(得分:-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'