搜索日期字段

时间:2018-02-15 22:59:11

标签: javascript google-app-maker

我有一个查询在数据模型的某些字段中查找搜索词。

eventsQuery.where = 'Name contains :SearchTerm OR ' +
                    'Description contains :SearchTerm OR ' +
                    'ID contains :SearchTerm OR ' +
                    'Owner contains :SearchTerm';

我想在搜索中添加日期字段。

'Date contains :SearchTerm OR ' +

这样做的正确方法是什么?仅供参考“日期”已被定义为数据模型中的日期字段。

1 个答案:

答案 0 :(得分:0)

我不确定是否可以使用查询生成器,但看起来它适用于Calculated SQL Model

您的SQL查询看起来与此类似:

SELECT
  Id,
  Name,
  Date
FROM
  Test
WHERE
  Name LIKE :SearchTerm OR
  Date LIKE :SearchTerm OR
  MONTHNAME(Date) LIKE :SearchTerm OR
  DAYNAME(DATE) LIKE :SearchTerm

备注

要使其适用于日期,您的搜索字词应如下所示

  • 2018-12-31% - 搜索确切日期
  • %2018% - 搜索所有2018年的记录
  • 完整月份名称(例如1月,2月,3月等等)
  • jan%(以' jan'开头的所有月份)
  • %uary(以' uary'结束的所有月份)
  • %r%(包含' r'的所有月份)
  • 使用特定日期搜索日期的相同逻辑

请在此处详细了解MySQL中的模式匹配:https://dev.mysql.com/doc/refman/5.7/en/pattern-matching.html

在您的内部,您可以向用户介绍此查询语法,也可以在将搜索词传递给搜索查询之前对其进行智能分析和格式化。您可以在Project Tracker模板中找到复杂的计算SQL搜索查询示例。我还会考虑使用REGEXP代替LIKE,具体取决于您的搜索要求。