Postgresql中hash(#)运算符的作用是什么
What does the hash(#) operator do in Postgresql
我正在尝试用另一种语言复制一位前雇员在 Postgres 中构建的函数,但无法理解 # 运算符的作用。我已经 运行 了一些数字,结果似乎没有任何一致性:
select 1 # 1 --0
,1 # 2 --3
,1 # 3 --2
,1 # 4 --5
,1 # 5 --4
,2 # 2 --0
,2 # 3 --1
,2 # 4 --6
如果有人能解释一下,我将不胜感激!
官方名称为"bitwise XOR"。参见 9.6. Bit String Functions and Operators。
它计算两个对应物的每一位之间的异或运算。
例如:
select 10 # 12
将被计算为它们对应的二进制数字之间的异或:
1 0 1 0 (decimal 10)
1 1 0 0 (decimal 12)
-------
0 1 1 0 (decimal 6)
结果:
6
我正在尝试用另一种语言复制一位前雇员在 Postgres 中构建的函数,但无法理解 # 运算符的作用。我已经 运行 了一些数字,结果似乎没有任何一致性:
select 1 # 1 --0
,1 # 2 --3
,1 # 3 --2
,1 # 4 --5
,1 # 5 --4
,2 # 2 --0
,2 # 3 --1
,2 # 4 --6
如果有人能解释一下,我将不胜感激!
官方名称为"bitwise XOR"。参见 9.6. Bit String Functions and Operators。
它计算两个对应物的每一位之间的异或运算。
例如:
select 10 # 12
将被计算为它们对应的二进制数字之间的异或:
1 0 1 0 (decimal 10)
1 1 0 0 (decimal 12)
-------
0 1 1 0 (decimal 6)
结果:
6