PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

क्या PostgreSQL में कोई हैश फ़ंक्शन है?

यह CRC32 फ़ंक्शन है जो थिंकिंग स्फिंक्स को परिभाषित करता है (gem ):

CREATE OR REPLACE FUNCTION crc32(word text)
RETURNS bigint AS $$
DECLARE tmp bigint;
DECLARE i int;
DECLARE j int;
DECLARE byte_length int;
DECLARE word_array bytea;
BEGIN
IF COALESCE(word, '') = '' THEN
return 0;
END IF;

i = 0;
tmp = 4294967295;
byte_length = bit_length(word) / 8;
word_array = decode(replace(word, E'\\\\', E'\\\\\\\\'), 'escape');
LOOP
tmp = (tmp # get_byte(word_array, i))::bigint;
i = i + 1;
j = 0;
LOOP
tmp = ((tmp >> 1) # (3988292384 * (tmp & 1)))::bigint;
j = j + 1;
IF j >= 8 THEN
EXIT;
END IF;
END LOOP;
IF i >= byte_length THEN
EXIT;
END IF;
END LOOP;
return (tmp # 4294967295);
END
$$ IMMUTABLE LANGUAGE plpgsql;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgresql 9.x:`xpath_exists` (XMLEXISTS) प्रश्नों को अनुकूलित करने के लिए अनुक्रमणिका

  2. स्प्रिंग डेटा जेपीए ऑडिटिंग @Modifying एनोटेशन के साथ जेपीए रिपोजिटरी अपडेट विधि के लिए काम नहीं कर रहा है, क्यों?

  3. कैसे Atan2 () PostgreSQL में काम करता है

  4. पोस्टग्रेज में सिंगल-यूजर मोड में एक्सटेंशन वर्क बनाएं?

  5. एक कॉलम में एक से अधिक पंक्ति मान के साथ एक से अधिक पंक्तियों को मर्ज करें