我在PostgreSQL中使用了bytea
类型,据我理解,它只包含一系列字节。但是,我无法与空值很好地配合使用。例如:
=# select length(E'aa\x00aa'::bytea);
length
--------
2
(1 row)
我原本期望是5。此外:
=# select md5(E'aa\x00aa'::bytea);
md5
----------------------------------
4124bc0a9335c27f086f24ba207a4912
(1 row)
这是“aa”而不是“aa\x00aa”的MD5。显然,我做错了什么,但我不知道我做错了什么。由于某些原因,我使用的是较旧版本的Postgres(8.1.11)。(一回到家后,我会看看最新的Postgres是否有相同的问题...)