如何查询零字节字符?

How to query for a zero-byte char?

According to the documentationpg_attribute.attgenerated 的类型为 char,如果未生成该列,则值为“零字节”,并且至少有一个其他可能的值,未来可能会更多。

我想查询所有非生成的列。由于我不希望在未来的版本中被添加绊倒,查询谓词需要是 WHERE attgenerated = ZERO BYTE 而不是不等式,但我不知道如何在 SQL 中正确表示该值。

正确的写法是什么?在大多数编程语言中,您会说 '[=13=]',并且可以通过在字符串文字前添加 e 来使用转义序列,但是如果我说 e'[=15=]',它会出错并显示“无效字节序列”用于编码“UTF8”:0x00”。所以我不太确定正确的方法是什么。

这只是一个空字符串:

WHERE attgenerated = ''