代码之家  ›  专栏  ›  技术社区  ›  Yada

mysql<=>operator做什么?

  •  4
  • Yada  · 技术社区  · 15 年前

    什么是mysql<=>?

    因为操作员是一个符号,所以很难找到文档。(类似于三元运算符?:用于编程支持它们的语言。)

    我从书中的一个例子中得到的。

    mysql> select null <=> null;
    +---------------+
    | null <=> null |
    +---------------+
    |             1 |
    +---------------+
    1 row in set (0.00 sec)
    
    3 回复  |  直到 15 年前
        1
  •  6
  •   mpen    15 年前

    它是一个空安全比较运算符。太棒了。

    这意味着,如果您试图在数据库中查询某个变量,比如字符串,有时可能是 无效的 ,你想用它。例如,如果您尝试搜索 SELECT * FROM table WHERE x = NULL 它什么也不会返回,但是如果你这样做了 SELECT * FROM table WHERE x <=> NULL 会起作用的。

        2
  •  3
  •   J Sidhu    15 年前

    空安全等于。此运算符执行与=运算符类似的相等比较,但如果两个操作数都为空,则返回1而不是空;如果一个操作数为空,则返回0而不是空。

    • mysql>选择1<=>1,空<=>空,1<=>空;
    • -gt;1, 1, 0
    • mysql>选择1=1,null=null,1=null;
    • ->1,空,空

    http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#operator_equal-to

        3
  •  0
  •   EMPraptor    15 年前

    http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#operator_equal-to

    空安全等于。此运算符执行与=运算符类似的相等比较,但如果两个操作数都为空,则返回1而不是空;如果一个操作数为空,则返回0而不是空。