十五、clickhouse的Hash函數


-- 注意:偽隨機!可以用於將元素不可逆的偽隨機打亂。

SELECT
-- 計算字符串的MD5值。( 如果您不需要一定使用MD5,請使用‘sipHash64’函數。)
halfMD5('HELLO WORLD!'),
halfMD5(12);
SELECT
MD5('drew-zero,78967');

SELECT
-- 為任何類型的整數計算32位的哈希。 這是相對高效的非加密Hash函數
intHash32(1221232132132) AS intHash32,
-- 推薦:從任何類型的整數計算64位哈希碼。 它的工作速度比intHash32函數快。
intHash64(1221232132132) AS intHash64,
-- 計算任意數量字符串的CityHash64或使用特定實現的Hash函數計算任意數量其他類型的Hash。
cityHash64('username') AS cityHash64,
-- 1.使用sha1或者sha224加密的話,只能用於字符串
-- 2.字符串 需使用單引號。
SHA1('1232131') AS sha1,
SHA224('1232131') AS sha224,
SHA256('DREW-ZERO') AS sha256;

-- URLHash(url[, N]) 一種快速的非加密哈希函數,用於規范化的從URL獲得的字符串
-- 從一個字符串計算一個哈希,如果結尾存在尾隨符號/,?或#則忽略。 URLHash(s,N)
-- 計算URL層次結構中字符串到N級別的哈希值,如果末尾存在尾隨符號/,?或#則忽略。 URL的層級與URLHierarchy中的層級相同
-- 用處:此函數被用於Yandex.Metrica。
SELECT
URLHash('www.baidu.com'), -- 11390370829909720855
URLHash('www.baidu.com', 0), -- 11390370829909720855
--
URLHash('www.baidu.com', 1); -- 11160318154034397263

-- farmHash64(s) 計算字符串的FarmHash64。 接受一個String類型的參數。返回UInt64。
SELECT farmHash64('www.runoob.com'); -- 6668483584160323388

-- javaHash(s) 計算字符串的JavaHash。 接受一個String類型的參數。返回Int32。
SELECT javaHash('www.baidu.com'); -- 270263191

-- hiveHash(s) 計算字符串的HiveHash。 接受一個String類型的參數。返回Int32。 與JavaHash相同,但不會返回負數
SELECT hiveHash('www.baidu.com'); -- 270263191

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM