我在 Postgres 9.5中t有一个带有数组列的表z。我想选择id其中z要么是NULLOR {NULL}。
id | z
---+--------
1 | {NULL}
2 | null
Run Code Online (Sandbox Code Playgroud)
我试图改变{NULL}到NULL以array_remove():
SELECT id,
array_remove(z,NULL) as removed
from t;
Run Code Online (Sandbox Code Playgroud)
返回:
id | z | removed
---+--------+-------
1 | {NULL} | {}
2 | null | null
Run Code Online (Sandbox Code Playgroud)
但是,如果我查询这个:
select id, z from t where removed is null;
Run Code Online (Sandbox Code Playgroud)
我仍然得到 id 1。理想情况下,我想避免取消嵌套和分组备份。
新手问题.我正在寻找以字母"R"开头的蜇行:
SELECT *
FROM table
WHERE column LIKE 'R%'
Run Code Online (Sandbox Code Playgroud)
这不
SELECT *
FROM table
WHERE column LIKE '^R%'
Run Code Online (Sandbox Code Playgroud)
为什么?也只是好奇,如果我希望它结束R,我使用$?
'%R$'
Run Code Online (Sandbox Code Playgroud)
这里没有很好地解释模式匹配.如果您知道其他资源,请分享.谢谢 https://www.postgresql.org/docs/9.3/static/functions-matching.html