[Operation and Maintenance|Database] Jincang database int conversion, bit conversion configuration notes

1. Jincang database int conversion configuration

CREATE OR REPLACE FUNCTION bit_equal_integer(BIT,integer) RETURNS BOOLEAN language sql AS $$select $1::int = $2;$$;

CREATE OR REPLACE FUNCTION integer_equal_bit(integer,BIT) RETURNS BOOLEAN language sql AS $$select $1 = $2::int;$$;

CREATE OPERATOR = (
LEFTARG = bit,
RIGHTARG = integer,
FUNCTION = bit_equal_integer,
COMMUTATOR = =,
NEGATOR = !=,
HASHES, MERGES);

CREATE OPERATOR = (
LEFTARG = integer,
RIGHTARG = bit,
FUNCTION = integer_equal_bit,
COMMUTATOR = =,
NEGATOR = !=,
HASHES, MERGES);
  1. Jincang database bit conversion configuration
CREATE OR REPLACE FUNCTION boolean_to_bit(b boolean) RETURNS bit AS $$
BEGIN
 RETURN b::int::bit;
END;
$$LANGUAGE plpgsql;

CREATE OR REPLACE FUNCTION bit_to_boolean(b bit) RETURNS boolean AS $$
BEGIN
 RETURN b::int::boolean;
END;
$$LANGUAGE plpgsql;

-- 以下两条命令执行需要管理员 
CREATE CAST (bit AS boolean) WITH FUNCTION bit_to_boolean(bit) AS implicit;
CREATE CAST (boolean AS bit) WITH FUNCTION boolean_to_bit(boolean) AS implicit;

Guess you like

Origin blog.csdn.net/macaiyun0629/article/details/132168982