所以我想对十六进制进行XOR运算,所以我这样做
select X'4e20' # X'4521'; --the output is 0000101100000001但问题是我想用十六进制做XOR二进制,或者用十六进制做整数,或者用二进制做整数,所以我试着这样做
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进行xor运算?我想知道如何:
1.将二进制转换为整数
2.将十六进制转换为二进制,反之亦然
3.将十六进制转换为整数
4.将ascii转换为整数
这是postgresql https://www.postgresql.org/docs/9.4/static/functions-bitstring.html官方的位串函数和运算符。
发布于 2017-11-20 18:45:26
如果希望输出为bit值,则应将integer转换为bit
test=> SELECT 6700::bit(16) # X'4F21';
?column?
------------------
0101010100001101
(1 row)https://stackoverflow.com/questions/47389980
复制相似问题