【问题标题】:SQL select query between two dates两个日期之间的 SQL 选择查询
【发布时间】:2015-04-01 10:44:14
【问题描述】:

如何列出在20002010 之间发布的所有电影?

SELECT title 
FROM films 
WHERE releaseYear > 2000 && < 2010

或者我必须使用“之间”吗?我是新手,我正在努力学习。我在stackoverflow上找过类似的问题,但似乎每个人都给出了不同的答案。有不同的可能性吗?

【问题讨论】:

  • 2000 年到 2010 年之间的发布年份
  • WHERE releaseYear&gt;=2000 and releaseYear&lt;=2010
  • 那么真的有不同的可能性吗?那我还能用#2000 和#2010 吗?
  • 同样重要的是要注意BETWEEN 包含两边。所以@PanagiotisKanavos 的注释等同于@jarlh 使用的BETWEEN 运算符。这些不等同于您正在尝试做的事情。
  • @HoneyBadger 假设between 表示except years 2000 and 2010。我认为情况并非如此,代码只是一个错字

标签: sql date select between


【解决方案1】:

你可以像这样使用 between 子句:

Where ReleaseYear between 2000 and 2010

或等价物:

Where ReleaseYear >=2000 and ReleaseYear <= 2010

【讨论】:

    【解决方案2】:

    你可以这样使用

    SELECT title FROM films WHERE releaseYear between 2000 and 2010;
    

    提示:当你使用“between”时,你应该先写小一点。 介于 小值大值

    【讨论】:

      【解决方案3】:

      您可以直接使用&gt;&lt; 运算符编写条件(注意逻辑“与”运算符是and 而不是&amp;&amp;,并且它的两边都应该是有效的SQL 条件):

      SELECT title FROM films WHERE releaseYear > 2000 AND releaseYear < 2010
      

      或者使用between运算符(注意between运算符不是独占的,所以使用2011而不是2010):

      SELECT title FROM films WHERE releaseYear BETWEEN 2000 AND 2011
      

      【讨论】:

      • 这些不一样; BETWEEN 包含在内。来自 BOL:“如果 test_expression 的值大于或等于 begin_expression 的值且小于或等于 end_expression 的值,则 BETWEEN 返回 TRUE。”
      • @HoneyBadger 不错 - 我没有给予足够的关注。我相应地编辑了我的答案。
      【解决方案4】:

      您可以使用其中任何一个。但首先要改进您的语法,例如:-

      SELECT title 
      FROM films 
      WHERE releaseYear >= 2000 
      AND releaseYear <= 2010;
      

      SELECT title 
      FROM films 
      WHERE releaseYear BETWEEN 2000 AND 2010;
      

      【讨论】:

      • 我只是在告诉他逻辑。我知道你在说什么。现在看看我的编辑。
      【解决方案5】:

      你可以使用'Between'子句,比如

      Select titles 
      From films 
      Where releaseYear between 2000 and 2010;
      

      但尽量避免以下情况

      Select titles 
      From films 
      Where releaseYear >= 2010 and releaseYear <= 2010;
      

      因为数据过滤方式不同,导致性能问题。

      【讨论】:

        猜你喜欢
        • 2011-07-04
        • 2012-03-12
        • 2013-02-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-25
        • 1970-01-01
        相关资源
        最近更新 更多