Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 的用法 » 查询和修改数据 » 查询数据 » WHERE 子句:指定行

 

在 WHERE 子句中使用比较运算符

可以在 WHERE 子句中使用比较运算符。这些运算符遵循以下语法:

WHERE expression comparison-operator expression

请参见比较运算符表达式

有关比较的说明
  • 排序顺序   比较字符数据时,< 表示在排序顺序中靠前,而 > 则表示在排序顺序中靠后。排序顺序是由创建数据库时选择的归类决定的。您可以通过对数据库运行 dbinfo 实用程序查找归类:
    dbinfo -c "uid=DBA;pwd=sql"

    也可以通过转到 [数据库属性] 窗口的 [扩展信息] 选项卡从 Sybase Central 查找归类。

  • 尾随空白   当创建数据库时,您可以指示是否忽略尾随空白或不忽略尾随空白以进行比较。

    缺省情况下,创建数据库时不忽略尾随空白。例如,'Dirk' 和 'Dirk ' 不同。您可以创建具有空格填充的数据库,以便忽略尾随空白。

  • 比较日期   比较日期时,< 表示日期较早,> 表示日期较晚。

  • 区分大小写   当创建数据库时,您可以指示字符串比较是否区分大小写。

    缺省情况下,创建数据库时不区分大小写。例如,'Dirk' 和 'DIRK' 相同。可以创建区分大小写的数据库。

这里是一些使用比较运算符的 SELECT 语句:

SELECT *
   FROM Products
   WHERE Quantity < 20;
SELECT E.Surname, E.GivenName
   FROM Employees E
   WHERE Surname > 'McBadden';
SELECT ID, Phone
   FROM Contacts
   WHERE State  != 'CA';
NOT 运算符

NOT 运算符对表达式取非。以下两个查询中的任何一个都会查找所有价格为 $10(或不到)的 T 恤衫和棒球帽。但是,请注意否定逻辑运算符 (NOT) 和否定比较运算符 (!>) 之间的差别。

SELECT ID, Name, Quantity
   FROM Products
   WHERE (name = 'Tee Shirt' OR name = 'BaseBall Cap')
   AND NOT UnitPrice > 10;
SELECT ID, Name, Quantity
   FROM Products
   WHERE (name = 'Tee Shirt' OR name = 'BaseBall Cap')
   AND UnitPrice !> 10;