【问题标题】:Why my Google Sheet QUERY getting error when selecting date?为什么我的 Google Sheet QUERY 在选择日期时出错?
【发布时间】:2019-06-21 02:50:50
【问题描述】:

我想查询两个日期之间的数据。这是我的查询:

=query(Profile;"select * where B >= date '"&TEXT(DATEVALUE("27/02/2018"),"yyyy-mm-dd")&"' and B <= date '"&TEXT(DATEVALUE("01/03/2018"),"yyyy-mm-dd")&"";1)

这是电子表格https://docs.google.com/spreadsheets/d/1AvyMhjPMDeX6lszrrF4dqXssZSzYPuZdcbsQ66jzQOg/edit?usp=sharing

【问题讨论】:

  • 跟sql server有什么关系?
  • 没关系,我的错

标签: google-sheets google-sheets-formula google-sheets-query google-query-language


【解决方案1】:

这是正确的语法:

=QUERY(Profile; 
 "where B >= date '"&TEXT(C3; "yyyy-mm-dd")&"' 
    and B <= date '"&TEXT(C4; "yyyy-mm-dd")&"'"; 1)

【讨论】:

  • 感谢您的帮助,但是您可以将日期格式设置为 dd-mm-yyyy 或 mm-dd-yyyy 吗?
  • 确定:=ARRAYFORMULA(TEXT(QUERY(Profile; "where B &gt;= date '"&amp;TEXT(C3; "yyyy-mm-dd")&amp;"' and B &lt;= date '"&amp;TEXT(C4; "yyyy-mm-dd")&amp;"'"; 1); "dd-mm-yyyy")) - i.stack.imgur.com/MnJtQ.png
  • 再次感谢。我的意思是你能把单元格 B 放在 dd-mm-yyyy 或 mm-dd-yyyy 中吗?
【解决方案2】:

看起来&amp;"" 上缺少'。应该是&amp;"'"

最终公式是

=query(Profile;"select * where B &gt;= date '"&amp;TEXT(DATEVALUE("27/02/2018"),"yyyy-mm-dd")&amp;"' and B &lt;= date '"&amp;TEXT(DATEVALUE("01/03/2018"),"yyyy-mm-dd")&amp;"'";1)

【讨论】:

  • 尝试了您的解决方案,但仍然生成错误消息
【解决方案3】:

将您传递的日期字符串的格式更改为 mm/dd/yyyy 而不是当前的 dd/mm/yyyy,它应该可以工作。

例如来自上面的@Ruben 示例:

=query(Profile;"select * where B >= date '"&TEXT(DATEVALUE("02/27/2018"),"yyyy-mm-dd")&"' and B <= date '"&TEXT(DATEVALUE("03/01/2018"),"yyyy-mm-dd")&"'";1)

这似乎是您昨天询问的公式的倒退,该公式处理日期格式本身,而不是手动将日期作为字符串传递:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 2016-02-08
    • 2021-09-09
    • 2023-03-30
    相关资源
    最近更新 更多