Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有空值的Mariadb查询变量不返回任何内容_Mariadb - Fatal编程技术网

具有空值的Mariadb查询变量不返回任何内容

具有空值的Mariadb查询变量不返回任何内容,mariadb,Mariadb,当特定列等于我的变量时,我尝试选择一些行。 其中一些行将该列设置为null 为此,我使用一个变量进行了一个查询以获得匹配 SELECT MT.Column1, MT.Column2, MT.SpecificColumn FROM MyTable MT WHERE MT.SpecificColumn = :Variable 因此,当该变量接收NULL时,查询不会返回SpecificColumn值为NULL的行 获取行的唯一方法是使用以下条件: WHERE MT.SpecificC

当特定列等于我的变量时,我尝试选择一些行。 其中一些行将该列设置为null

为此,我使用一个变量进行了一个查询以获得匹配

SELECT

MT.Column1, 
MT.Column2, 
MT.SpecificColumn

FROM

MyTable MT

WHERE

MT.SpecificColumn = :Variable
因此,当该变量接收NULL时,查询不会返回SpecificColumn值为NULL的行

获取行的唯一方法是使用以下条件:

WHERE

MT.SpecificColumn IS NULL
但这种情况不适合我,因为我需要它是动态的

空值的系统处理

在完全关系型DBMS中,支持空值(与空字符串或空白字符字符串不同,与零或任何其他数字不同),以系统方式表示缺失信息和不适用信息,与数据类型无关

因此,您无法比较丢失的数据,但可以检查数据是否丢失

如果要检查NULL而不检查IS NULL,则需要对其进行转换,例如

从MyTABLE中选择字段,其中IFNULL(MT.SpecificColumn,“NULL值”)=@变量


如果设置
@variable=“NULL VALUE”
,它将找到NULL值。当然,它是否有效是另一个问题。

因此,在某些情况下,将列“notnull”设为null,这是意料之中的。我需要的是,当我尝试将设置为null的变量与列匹配时,获取包含该null列的行。检查null-safe运算符:如果合并WHERE谓词的两侧,对查询执行的危害有多大?