postgresql异或操作

postgresql异或操作,sql,postgresql,xor,Sql,Postgresql,Xor,所以我想对十六进制进行异或运算 所以我这么做 select X'4e20' # X'4521'; --the output is 0000101100000001 但问题是我想用六进制做异或二进制,或者用六进制做整数,或者用二进制做整数,所以我试着这样做 select X(select to_hex(6700::bit(16))) # X'4F21'; 此查询将产生错误结果 [Err] ERROR: syntax error at or near "select" LINE 2: sele

所以我想对十六进制进行异或运算 所以我这么做

select X'4e20' # X'4521'; --the output is 0000101100000001
但问题是我想用六进制做异或二进制,或者用六进制做整数,或者用二进制做整数,所以我试着这样做

select X(select to_hex(6700::bit(16))) # X'4F21';
此查询将产生错误结果

[Err] ERROR:  syntax error at or near "select"
LINE 2: select X(select to_hex(6700::bit(16))) # ...
那么我该怎么做呢?有可能在postgresql上对Ascii进行异或运算吗? 我想知道如何:

1.将二进制转换为整数

2.将十六进制转换为二进制,反之亦然

3.将十六进制转换为整数

4.将ascii转换为整数

这是postgresql的位字符串函数和运算符
如果希望输出为
值,则应将
整数
转换为

test=> SELECT 6700::bit(16) # X'4F21';

     ?column?     
------------------
 0101010100001101
(1 row)