zoukankan      html  css  js  c++  java
  • MySQL BETWEEN运算符介绍

    1、个人使用的心得,一般我们会常用(>=)、(<=)符号来进行条件的筛选,BETWEEN包含两头的数据;

    SELECT
        productCode,
        productName,
        buyPrice
    FROM
        products
    WHERE
        buyPrice BETWEEN 80
    AND 100;

    2、BETWEEN 返回的值是true与0;

    3、如果任何表达式为NULL,则BETWEEN运算符返回NULL值。如果想指定一个不含边界值的范围,则使用大于(>)和小于(<)运算符。

    4、BETWEEN 运算符与 NOT 算符组合使用;

    例如:

    SELECT
        productCode,
        productName,
        buyPrice
    FROM
        products
    WHERE
        buyPrice NOT BETWEEN 10
    AND 100;

     也可以使用少于(>),大于(>)和逻辑运算符(OR)、(AND)重写上述查询:

    SELECT
        productCode,
        productName,
        buyPrice
    FROM
        products
    WHERE
        buyPrice < 10
    OR buyPrice > 100;

    5、MySQL BETWEEN与日期类型数据

    第一种方式:因为requiredDate列的数据类型是DATE,所以我们使用转换运算符将文字字符串“2013-01-01”和“2013-12-31”转换为DATE数据类型。

    SELECT
        orderNumber,
        orderDate,
        requiredDate,
        `status`
    FROM
        orders
    WHERE
        requiredDate BETWEEN CAST('2013-01-01' AS DATE)
                         AND CAST('2013-01-31' AS DATE);
    当使用BETWEEN运算符与日期类型值时,要获得最佳结果,应该使用类型转换将列或表达式的类型显式转换为DATE类型
    第二种方式:没有进行格式转换,结果与第一种方式一样。
    SELECT
        orderNumber,
        orderDate,
        requiredDate,
        `status`
    FROM
        orders
    WHERE
        requiredDate BETWEEN '2013-01-01' 
                         AND '2013-01-31';

    第一种为规范,第二种是我们通常没有进行多余的思考,直接运用的。两种方式皆可以使用。

  • 相关阅读:
    axios中put和patch的区别(都是update , put是需要提交整个对象资源,patch是可以修改局部)
    父子组件传值
    springboot+mybatis 配置sql打印日志
    spring cloud eureka
    springAop
    java线程dump分析工具
    02.java并发编程之原子性操作
    01线程的一些方法
    Spring validator常用注解
    Idea报错Command line is too long
  • 原文地址:https://www.cnblogs.com/yuezc/p/12148993.html
Copyright © 2011-2022 走看看