首页 > 数据库 >PostgreSQL数据库开启 a=null等价于a is null 功能

PostgreSQL数据库开启 a=null等价于a is null 功能

时间:2023-11-27 11:37:57浏览次数:58  
标签:NULL PostgreSQL expr 数据库 equals transform null

前言

PostgreSQL官方文档http://www.postgres.cn/docs/11/functions-comparison.html

今天在预览PostgreSQL文档的时候看到了这个功能,平时写SQL都是a is [not] null来进行判断的,第一次见到可以这样,觉得挺新奇的就先记录下。ps:存在即合理。

GO

transform_null_equals (boolean)是PostgreSQL的一个参数,可以通过下面语句查看状态

show transform_null_equals;

这个默认是关闭的,如果想开启,可以通过下面语句实现

set transform_null_equals = on;

当打开时,形为expr = NULL(或NULL = expr)的表达式将被当做expr IS NULL, 也就是说,如果expr得出空值值则返回真,否则返回假。正确的 SQL 标准兼容的expr = NULL行为总是返回空(未知)。因此这个参数默认为off。
请注意这个选项只影响= NULL形式,而不影响其它比较操作符或者其它与一些涉及等值操作符的表达式在计算上等效的其他表达式(例如IN)。因此,这个选项不是劣质程序的一般修复。


个人认为正常情况没必要开启,如果大家都写习惯了a is null语句,当遇到数据库迁移,会遇到很多麻烦。

标签:NULL,PostgreSQL,expr,数据库,equals,transform,null
From: https://www.cnblogs.com/Mr-Sponge/p/17858894.html

相关文章

  • 3、python脚本连接本地mysql数据库读取表数据
    #coding:utf-8frompymysqlimportconnectdata_list=[]#将数据存入数据库conn=connect(host="10.36.128.83",port=20002,database="sthjj_sthj",user="lw_lwc",password=&qu......
  • proxyHost should not be null when a proxy is specified
    进入设置界面,找到本地gradle进入目录,打开gradle.properties文件把框里的注释掉,回到软件重新编译,解决!......
  • Oracle 数据库存储过程调用SpringBoot API 接口方法
    数据库存储过程代码CREATEORREPLACEPROCEDUREFSMT.P_GET_HTTP_RES/*描述:存儲過程掉用HTTP接口作者:Janus日期:2023-11-23*/(M_DOC_NOINVARCHAR2,--??M_DOC_TYPEINVARCHAR2,--?据?型M_STANDBYINVARCHAR2,--?用字段M_EM......
  • 基于HOG特征提取和GRNN神经网络的人脸表情识别算法matlab仿真,测试使用JAFFE表情数据
    1.算法运行效果图预览 2.算法运行软件版本matlab2022a 3.算法理论概述        该算法主要由两个部分组成:HOG特征提取和GRNN神经网络。下面将详细介绍这两个部分的原理和数学公式。 1.HOG特征提取      HOG(HistogramofOrientedGradients)是......
  • 已有数据库怎么导入到django的models中
    1、先在settings.py文件中配置好想要生成models.py的数据库2、在Terminal中执行pythonmanage.pyinspecdb>[yourappname]\models.py3、生成已有数据的models.py文件......
  • openGauss学习笔记-132 openGauss 数据库运维-查看openGauss状态
    openGauss学习笔记-132openGauss数据库运维-查看openGauss状态132.1背景信息openGauss支持查看整个openGauss的状态,通过查询结果确认openGauss或者单个主机的运行状态是否正常。132.2前提条件openGauss已经启动。132.3操作步骤以操作系统用户omm登录数据库主节点。......
  • 【Python爬虫】第10篇:js逆向解析和Mongodb数据库。md集合文档(已分享,附代码)
    本文主要学习一下关于爬虫的相关前置知识和一些理论性的知识,通过本文我们能够知道什么是爬虫,都有那些分类,爬虫能干什么等,同时还会站在爬虫的角度复习一下http协议。全套笔记和代码自取地址:请移步这里感兴趣的小伙伴可以自取哦,欢迎大家点赞转发~共8章,37子模块JS的解析......
  • oracle数据库实验
       进行oracle数据库的学习,掌握数据的插入(INSERT)、修改(UPDATE)和删除(DELETE)操作。 掌握不同类型的数据查询(SELECT)操作。......
  • PostgreSQL锁,第1部分:行锁
    理解PostgreSQL锁对于构建可伸缩的应用程序和避免停机是很重要的。现代计算机和服务器有许多CPU核心,可以并行执行多个查询。数据库包含许多一致的结构,这些结构由并行运行的查询或后台进程所做的更改可能导致数据库崩溃,甚至损坏数据。因此,我们需要能够阻止来自并发进程的访问,同时更......
  • PostgreSQL锁,第2部分:重量级锁
    应用程序开发人员和dba的PostgreSQL锁可见性在大多数情况下与重量级锁相关。复杂的数据库锁定操作需要使用来自系统目录的视图进行完整的检测。应该清楚哪个对象被特定的数据库“后端”进程锁定。任何锁的另一个名称是“瓶颈”。为了使数据库操作并行,我们应该将单个瓶颈分解为多个......