- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是 Postgresql 9.2.4 上的设置:
CREATE TABLE table (
id integer NOT NULL,
some_text text
);
现在我们输入一条记录,some_text
为 null 或空字符串,这样当我们查询时:
SELECT * FROM table WHERE some_text IS NULL;
我拿回了条目。到目前为止一切顺利。
但是,当我查询时:
SELECT * FROM table WHERE some_text NOT ILIKE "%anything%';
我发现没有返回任何内容。这是为什么?我希望 null 或空字符串“不像 anything
”。
最佳答案
在 SQL 中,NULL 不等于任何东西。它也不等于任何东西。
也就是说,如果我不告诉你我的中间名,你也不告诉我你的中间名,我们怎么知道我们两个中间名是同名还是不同名呢?我们不知道。
这经常使人们在 SQL 中出错,因为它是“三值逻辑”。表达式可以是 TRUE、FALSE 或 UNKNOWN。熟悉 bool 代数的人都知道 NOT TRUE 就是 FALSE,NOT FALSE 就是 TRUE。
但棘手的部分是 NOT UNKNOWN 仍然是 UNKNOWN。
因此,您的解决方案是始终在您的列中存储一个非空字符串,或者使用表达式来说明三值逻辑:
SELECT * FROM table WHERE some_text NOT ILIKE "%anything%' OR some_text IS NULL;
或者:
SELECT * FROM table WHERE COALESCE(some_text, '') NOT ILIKE '%anything%';
PostgreSQL 还支持 null-safe equality operator :
SELECT * FROM table WHERE some_text IS DISTINCT FROM 'anything';
但不幸的是,这只适用于相等,不适用于带有模式和通配符的 LIKE/ILIKE。
关于sql - postgresql NOT ILIKE 子句不包括空字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18243755/
我正在尝试用 Java 构建一个字符串,该字符串的长度最多为 3,最少为 1。 我正在根据整数数组的内容构建字符串,如果数组的内容为 -1,我想在字符串中输出一个空字符。否则字符串将包含整数的字符版本
我有一个类,其中有一个方法可以在字符串中包含 NUL 字符的情况下终止程序。具体表达是这样的: stringVar.indexOf('\u0000') < 0 这个字符串是通过 Scanner 从用户
我有一个 wchar_t 数组。我需要在数组中的特定位置添加一个 unicode 空字符。 wchar_t var1[100]; var1[79] = '\u0000'; 我尝试了上面的方法,但出现以
好吧,这听起来可能是重复的,但我已经尝试了所有可能性,例如 str.strip()、str.rstrip()、str.splitline (),还 if-else 检查像: if str is not
System.out.println("-----------------------------------------------------------"); System.out.pr
我有一个奇怪的问题。我从公司内部的许多不同应用程序接收数据,并将这些数据显示在网站上。根据发送数据的系统,数据本身可能在字符串中包含一些奇怪的字符。我的问题是我有一个用户可以搜索以允许其中包含此数据的
我遇到了 aSSL ,这似乎有几年历史了,想知道是否有人有其他“安全”AJAX 连接代码示例?显然,这不如使用 SSL 证书安全,但使用 null character SSL在那里进行攻击(最近针对
我有一个类似于以下内容的 pyspark 数据框: df = sql_context.createDataFrame([ Row(a=3, b=[4,5,6],c=[10,11,12], d='b
我有以下要执行的查询: MyModel.objects.annotate(current_name=Coalesce('nickname', 'name')).order_by('current_na
每当 rails 变量等于 nil(或者实际上每当我使用 rails 代码(参见第 3 个代码示例))时,我的 html 中就会得到一串空字符。 new.html.haml %h1.editable.
我是一名优秀的程序员,十分优秀!