软件测试开发技术SQL必知必会:WHERE子句操作符[2]

发表于:2009-09-15来源:作者:点击数: 标签:软件测试sqlSQLSqlWHERE
软件 测试 开发 技术 SQL 必知必会:WHERE子句操作符[2] sql server 关键字: 数据库 何时使用引号,如果仔细观察上述WHERE子句中使用的条件,会看到有的值括在单引号内,而有的值未括起来。单引号用来限定字符串。如果将值与串类型的列进行比较,则需要限定
软件测试开发技术SQL必知必会:WHERE子句操作符[2]   sql server

关键字:数据库

何时使用引号,如果仔细观察上述WHERE子句中使用的条件,会看到有的值括在单引号内,而有的值未括起来。单引号用来限定字符串。如果将值与串类型的列进行比较,则需要限定引号。用来与数值列进行比较的值不用引号。

    下面是相同的例子,其中使用!=而不是<>操作符:

   

    注意:是!=还是<>?  !=和<>通常可以互换使用。但是,并非所有DBMS都支持这两种不等于操作符。例如,Microsoft Aclearcase/" target="_blank" >ccess支持<>而不支持!=。如果有疑问,请参阅相应的DBMS文档。

    范围值检查

    为了检查某个范围的值,可使用BETWEEN操作符。其语法与其他WHERE子句的操作符稍有不同,因为它需要两个值,即范围的开始值和结束值。例如,BETWEEN操作符可用来检索价格在5美元和10美元之间或日期在指定的开始日期和结束日期之间的所有产品。

    下面的例子说明如何使用BETWEEN操作符,它检索价格在5美元和10美元之间的所有产品:

   

   

    从这个例子中可以看到,在使用BETWEEN时,必须指定两个值——所需范围的低端和高端值。这两个值必须用AND关键字分隔。BETWEEN匹配范围中所有的值,包括指定的开始和结束值。

    空值检查

    在创建表时,表设计人员可以指定其中的列是否可以不包含值。在一个列不包含值时,称其为包含空值NULL。

    NULL  无值(no value),它与字段包含0、空字符串或仅仅包含空格不同。

    SELECT语句有一个特殊的WHERE子句,可用来检查具有NULL值的列。这个WHERE子句就是IS NULL子句。其语法如下:

   

    这条语句返回没有价格(空prod_price字段,不是价格为0)的所有产品,由于表中没有这样的行,所以没有返回数据。但是,Vendors表确实包含有具有空值的列,如果没有州数据,则vend_state列将包含NULL值(在没有U.S.地址时类似):

     

   

    DBMS的特定操作符  许多DBMS扩展了标准的操作符集,提供了更高级的过滤选择。更多信息请参阅相应的DBMS文档。

原文转自:http://www.ltesting.net