`
tomcat_oracle
  • 浏览: 317550 次
社区版块
存档分类
最新评论

MySQL中的 <=>操作符?

阅读更多
· 问题 :
  我在看以前的一个开发者的代码时看到
  WHERE p.name <=> NULL
  在这个查询语句中 <=>符号是什么意思啊?是不是和 =号是一样啊?还是一个语法错误啊?但是没有显示任何错误或者异常。我已经知道了mysql中的 <> = !=等符号。
  · 最佳回答 :
  和=号的相同点
  像常规的=运算符一样,两个值进行比较,结果是0(不等于)或1(相等);换句话说:’A'<=>’B'得0和’a'<=>’a‘得1。
  2.和=号的不同点
  和=运算符不同的是,NULL的值是没有任何意义的。所以=号运算符不能把NULL作为有效的结果。所以:请使用<=>,
  'a' <=> NULL 得0   NULL<=> NULL 得出 1。和=运算符正相反,=号运算符规则是 'a'=NULL 结果是NULL 甚至NULL = NULL 结果也是NULL。顺便说一句,mysql上几乎所有的操作符和函数都是这样工作的,因为和NULL比较基本上都没有意义。
  · 用处
  当两个操作数中可能含有NULL时,你需要一个一致的语句。
  ... WHERE col_a <=> ? ...
  这里的占位符有可能是常量也有可能是NULL,当使用<=>运算符时,你没有必要对查询语句做任何修改。
  · 相关操作符
  除了 <=> ,还有两个其他的操作符用来处理某个值和NULL做比较,也就是IS NULL and IS NOT NULL。他们是ANSI标准中的一部分,因此也可以用在其他数据库中。而<=>只能在mysql中使用。
  你可以把<=>当作mysql中的方言。
  'a' IS NULL     ==> 'a' <=> NULL
  'a' IS NOT NULL ==> NOT('a' <=> NULL)
  据此,你可以把这个查询语句段改的更具移植性一点:
  WHERE p.name IS NULL
2
14
分享到:
评论

相关推荐

    如何理解MySQL中的=操作符?

    这两个操作符可以在任何支持SQL的数据库系统中使用,而`&lt;=&gt;`是MySQL特有的。它们的等效转换如下: ```sql 'a' IS NULL ==&gt; 'a' &lt;=&gt; NULL 'a' IS NOT NULL ==&gt; NOT('a' &lt;=&gt; NULL) ``` 这些转换可以帮助你编写更具有...

    mysql5.1中文手册

    比较函数和操作符&lt;br&gt;12.1.4. 逻辑操作符&lt;br&gt;12.2. 控制流程函数&lt;br&gt;12.3. 字符串函数&lt;br&gt;12.3.1. 字符串比较函数&lt;br&gt;12.4. 数值函数&lt;br&gt;12.4.1. 算术操作符&lt;br&gt;12.4.2. 数学函数&lt;br&gt;12.5. 日期和时间函数&lt;br&gt;12.6....

    web.xml文件中各个标签的介绍

    例如:&lt;icon&gt;&lt;small-icon&gt;????&lt;/small-icon&gt;&lt;large-icon&gt;????&lt;/large-icon&gt;&lt;/icon&gt; 3. 显示名称(Display Name) display-name 元素用于指定 XML 编辑器显示的名称,通常用于工具编辑部署描述符。例如:&lt;display-...

    讲解MySQL中=操作符的用法

    这意味着`'a' &lt;=&gt; NULL`和`NULL &lt;=&gt; NULL`都将返回1,这与`=`操作符的处理方式相反。 使用`&lt;=&gt;`的好处在于,当你不确定比较的变量或字段是否可能包含`NULL`值时,它可以提供一种统一的比较方式,而不需要额外的`...

    讲解MySQL中&lt;=&gt;操作符的用法

    在MySQL中,`&lt;=&gt;`操作符,也被称为“三元等价运算符”或“NULL安全的等于”运算符,是一种特殊的比较运算符,它处理`NULL`值的方式与传统的`=`运算符有所不同。这个操作符在处理数据时特别有用,尤其是当你不确定或...

    jive.chm

    1 应用Struts的网站建设 &lt;br&gt;&lt;br&gt; &lt;br&gt; &lt;br&gt;Java基础&lt;br&gt; 1 20个Java基础Tips &lt;br&gt; 2 abstract,static,final修饰符 &lt;br&gt; 3 ChinaUnix.net Java精华贴 &lt;br&gt; 4 ANT学习笔记 &lt;br&gt; 5 极度性能调整 &lt;br&gt;&lt;br&gt; &lt;br&gt;FAQs&lt;br&gt;...

    MySql5.0命令全集

    - `&lt;分隔符&gt;`: 文本文件中字段之间的分隔符。 ### 二十一、备份数据库 可以使用 `mysqldump` 工具来备份整个数据库或单个表。 **命令格式:** ``` mysqldump -u &lt;username&gt; -p &lt;数据库名&gt; &gt; &lt;备份文件名.sql&gt; ```...

    Spring操作mysql源码

    在Spring框架中操作MySQL数据库是常见的任务,涉及到的主要知识点包括Spring JDBC、MyBatis或JPA等数据访问层技术。本文将重点解析Spring JDBC的基本使用,实现MySQL的增删改查(CRUD)操作,并讨论相关jar包的依赖...

    springMVC+mybitis+mongodb+maven整合

    &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;spring-webmvc&lt;/artifactId&gt; &lt;version&gt;4.3.23.RELEASE&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;...

    odi连接SQL,excel,FILE,mysql数据源的配置

    - **URL模板**: `jdbc:mysql://&lt;服务器&gt;:&lt;端口&gt;/&lt;数据库名&gt;?useSSL=&lt;true|false&gt;&serverTimezone=&lt;时区&gt;`. - **配置**: - `&lt;服务器&gt;`: MySQL服务器地址。 - `&lt;端口&gt;`: 默认为3306。 - `&lt;数据库名&gt;`: 要连接的...

    Mysql批量操作1

    在上面的代码中,我们使用 MyBatis 框架的 `&lt;foreach&gt;` 元素来实现批量插入操作。`collection` 属性指定了批量插入的数据集合,`item` 属性指定了每个元素的别名,`index` 属性指定了每个元素的索引。`separator` ...

    springMVC+MyBatis整合Maven代码

    &lt;artifactId&gt;mysql-connector-java&lt;/artifactId&gt; &lt;version&gt;8.x.x&lt;/version&gt; &lt;/dependency&gt; &lt;!-- 其他相关依赖 --&gt; &lt;/dependencies&gt; ``` 接下来是SpringMVC的配置。在SpringMVC中,我们需要创建一个`web.xml`...

    DAY06-MYBATIS框架基础-01.pdf

    在以上例子中,`#{id}`是一个占位符,Mybatis会在运行时将其替换为实际的参数值,从而执行删除操作。 总的来说,Mybatis通过简化数据库操作,提供了更加灵活和高效的Java持久层解决方案。与Spring的整合进一步降低...

    Qt 连接 MySQL并编译驱动

    接下来,进入Qt的源代码目录src/plugins/sqldrivers/mysql,通过命令行工具VS2008的命令提示符,切换到该目录并执行qmake,指定MySQL的include和lib路径,例如: ``` qmake "INCLUDEPATH+=D:\MySQL\include" "LIBS+=...

    mybatis.docx教程

    &lt;artifactId&gt;mysql-connector-java&lt;/artifactId&gt; &lt;version&gt;5.1.12&lt;/version&gt; &lt;/dependency&gt; &lt;/dependencies&gt; ``` 接下来,配置日志系统。在类路径下创建`log4j.properties`文件,以便记录MyBatis的日志信息。...

    Ibatis+MySql(含对应数据库sql) 源码

    例如,Ibatis的 `&lt;if&gt;`、`&lt;choose&gt;`、`&lt;when&gt;`、`&lt;otherwise&gt;`等标签可以实现复杂的条件判断,`&lt;collection&gt;`和`&lt;association&gt;`则用于处理一对多和一对一的关系映射。 通过解压"Ibatis01MySql"这个文件,你可以看到...

    idea 创建maven项目

    &lt;artifactId&gt;mysql-connector-java&lt;/artifactId&gt; &lt;version&gt;5.1.34&lt;/version&gt; &lt;/dependency&gt; &lt;/dependencies&gt; ``` 这段配置中包含了 Spring 的核心库、Web 相关库、Servlet API、JSP API、Spring Web MVC、测试...

    MySQL Administrator 1.1

    &lt;br&gt;几乎所有的任务都可以用命令提示符下的mysqladmin 和mysql命令来完成,但是MySQL Administrator再下列方面将是非常的有优点。&lt;br&gt;1。它的图形化的用户界面为用户提供了非常直观的接口。&lt;br&gt;2。它提供了较好的...

    mySQL的一些常用命令

    - 远程连接MySQL服务器,使用`mysql -h&lt;remote_host&gt; -u&lt;username&gt; -p&lt;password&gt;`,例如`mysql -h110.110.110.110 -uroot -pabcd123`。 2. **退出MySQL**: - 要退出MySQL会话,可以输入`exit`或`quit`,然后按...

    使用maven Filtering实现多环境构建

    &lt;db.url&gt;jdbc:mysql://localhost/devdb&lt;/db.url&gt; &lt;/properties&gt; &lt;/profile&gt; &lt;profile&gt; &lt;id&gt;test&lt;/id&gt; &lt;properties&gt; &lt;db.url&gt;jdbc:mysql://localhost/testdb&lt;/db.url&gt; &lt;/properties&gt; &lt;/profile&gt; &lt;profile&gt; ...

Global site tag (gtag.js) - Google Analytics