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 子句:指定行

 

NULL 的属性

下面详述 NULL 值的属性。

  • FALSE 和 UNKNOWN 之间的差异   虽然 FALSE 和 UNKNOWN 都不返回值,但是 FALSE 和 UNKNOWN 之间存在着重要的逻辑差异;FALSE 的相反值 ("NOT FALSE") 是 TRUE,而 UNKNOWN 的相反值则不表示任何已知内容。例如,1 = 2 计算得到 FALSE,而 1 != 2(1 不等于 2)计算得到 TRUE。

    但是,如果比较中包括 NULL,则您不能对表达式取非以得到相对的一组行或相反的真假值。UNKNOWN 值保持 UNKNOWN。

  • 用某个值替代 NULL 值   可以通过 ISNULL 内置函数用某个特定的值替代 NULL 值。替代的目的只是为了进行显示,未影响实际列值。语法是:

    ISNULL( expression, value  )

    例如,使用以下语句从 Departments 中选择所有行,然后将列 DepartmentHeadID 中的所有 NULL 值显示为值 -1。

    SELECT DepartmentID, 
           DepartmentName, 
           ISNULL( DepartmentHeadID, -1 ) AS DepartmentHead
       FROM Departments;

  • 计算得到 NULL 的表达式   如果所有操作数都为 NULL 值,则使用含算术或位运算符的表达式计算得到 NULL。例如,如果 column1 为 NULL,则 1 + column1 计算得到 NULL。请参见算术运算符位运算符

  • 连接字符串和 NULL   如果您将字符串和 NULL 连接,则表达式计算得到字符串。例如,下面的语句返回字符串 abcdef:
    SELECT 'abc' || NULL || 'def';