• SQL的谓词和运算符


    T-SQL有几种不同的语言元素可以指定逻辑表达式,在逻辑表达式中可以使用各种谓词(取值为TRUE、FALSE或UNKNOWN的表达式)和运算符。

    T-SQL支持的谓词包括IN、BETWEEN以及LIKE等。

      IN:用于检查一个值(或标量表达式)是否与一组元素中的至少一个组相等。

      BETWEEN:用于检查一个值是否在指定的范围内,包括两个指定的边界值。

      LIKE:用于检查一个字符串值是否与指定的模式匹配。

    -- 谓词例子: IN, BETWEEN, LIKE

    SELECT

      orderid,

      empid,

      orderdate

    FROM Sales.Orders

    WHERE orderid IN(10248, 10249, 10250);


    SELECT

      orderid,

      empid,

      orderdate

    FROM Sales.Orders

    WHERE orderid BETWEEN 10300 AND 10310;


    SELECT

      empid,

      firstname,

      lastname

    FROM HR.Employees

    WHERE lastname LIKE N'D%';

    T-SQL支持这些比较运算符:=、>、<、>=、<=、<>、!=、!>、!<(带!的为非标准运算符,建议尽可能避免使用)

    如果要将多个逻辑表达式组合起来,可以使用逻辑运算符OR和AND;如果想对布尔型表达式取反,可以使用NOT运算符。

    T-SQL支持四种简单的算术运算符:+、-、*、/,以及%(取模)运算符,它返回一个整数除法运算的余数。

    -- Comparison operators: =, >, <, >=, <=, <>, !=, !>, !< 

    SELECT orderid, empid, orderdate

    FROM Sales.Orders

    WHERE orderdate >= '20080101';


    -- Logical operators: AND, OR, NOT

    SELECT orderid, empid, orderdate

    FROM Sales.Orders

    WHERE orderdate >= '20080101'  AND empid IN(1, 3, 5);


    -- Arithmetic operators: +, -, *, /, %

    SELECT orderid, productid, qty, unitprice, discount,  qty * unitprice * (1 - discount) AS val

    FROM Sales.OrderDetails;

    各运算符的优先级:

    1、 ()

    2、 *,/,%

    3、 +(正),-(负),+(加号),+(连接号),-(减号)

    4、  =, >, <, >=, <=, <>, !=, !>, !< 

    5、 NOT

    6、 AND

    7、 BETWEEN,IN,LIKE,OR

    8、 =(分配、赋值)

  • 相关阅读:
    POJ 1201 Intervals 差分约束
    netframework2.0,asp.net2.0,vs.net 2005
    学习.net第一天
    VS.NET 2003 控件命名规范
    .Net生成共享程序集
    汉字的编码
    [转]用C#实现连接池
    SQL表自连接用法
    一道很好玩的OOP面试题,今天比较有空,所有做了一下
    C#编程规范(2008年4月新版)
  • 原文地址:https://www.cnblogs.com/micronm/p/1997333.html
Copyright © 2020-2023  润新知