My Sql 对汉字,字母的hash编码算法

DELIMITER $$

CREATE

FUNCTION `jtorder`.`F_GET_HASH_VALUE`(str VARCHAR(500))
RETURNS BIGINT

BEGIN
/*
* @desc:获取字符的HashValue
str:字符
* @author:shiyj
eg:str=abc123
*/
DECLARE result BIGINT;
SET @pos = 1;
SET @hashValue = 0;
-- 616263313233
SET @szHex = HEX(str);
-- 12
SET @size = LENGTH(@szHex);
WHILE @pos<@size+1 DO
-- 61
SET @cCh = SUBSTRING(@szHex,@pos,2);
-- a的ASCII=97
SET @nCh = CAST(ASCII(UNHEX(@cCh)) AS UNSIGNED);
-- 97+98+99+49+50+51
SET @hashValue = @hashValue + @nCh;
SET @pos = @pos + 2;
END WHILE;

SET result = @hashValue;
RETURN result;
END$$

DELIMITER ;

时间: 2024-10-29 19:07:38

My Sql 对汉字,字母的hash编码算法的相关文章

英文字母和中文汉字在不同字符集编码下的字节数

英文字母和中文汉字在不同字符集编码下的字节数 英文字母: 字节数 : 1;编码:GB2312 字节数 : 1;编码:GBK 字节数 : 1;编码:GB18030 字节数 : 1;编码:ISO-8859-1 字节数 : 1;编码:UTF-8 字节数 : 4;编码:UTF-16 字节数 : 2;编码:UTF-16BE 字节数 : 2;编码:UTF-16LE 中文汉字: 字节数 : 2;编码:GB2312 字节数 : 2;编码:GBK 字节数 : 2;编码:GB18030 字节数 : 1;编码:ISO

sql server 汉字转拼音首字母

create function fun_getPY ( @str nvarchar(4000) ) returns nvarchar(4000) as begin declare @word nchar(1),@PY nvarchar(4000) set @PY='' while len(@str)>0 begin set @word=left(@str,1) --如果非汉字字符,返回原字符 set @[email protected]+(case when unicode(@word) bet

adnroid java 获取汉字 字母的首拼音,全拼音,大写首拼音

给打大家提供一个获取汉字字母的首拼音,全拼音,首大写的几个方法: 这里需要用到一个外库,pinyin4j-2.5.0.jar大家可以自己上网下载或者找我分享: 这个也给有做分享pinyin4j-2.5.0.jar:外库可以直接下载 底下是对库的使用,几个使用的例子: //"首拼音大写" public static String getAlpha(String chines) {  String pinyinName = "";  char[] nameChar =

SQL注入防御绕过——二次编码之干掉反斜杠

SQL注入防御绕过--二次编码 01 背景知识 一.为什么要进行URL编码 通常如果一样东西需要编码,说明这样东西并不适合传输.对于URL来说,编码主要是为了避免引发歧义与混乱.例如,URL参数字符串中使用key=value键值对这样的形式来传参,键值对之间以&符号分隔,如/?name=abc&pwd=123如果你的value字符串中包含了=或者&,那么势必会造成接收Url的服务器解析错误,因此必须将引起歧义的&和= 符号进行转义,也就是对其进行编码.对于URL编码的深入研

十一、从头到尾彻底解析Hash 表算法

在研究MonetDB时深入的学习了hash算法,看了作者的文章很有感触,所以转发,希望能够使更多人受益! 十一.从头到尾彻底解析Hash 表算法 作者:July.wuliming.pkuoliver  出处:http://blog.csdn.net/v_JULY_v.  说明:本文分为三部分内容,    第一部分为一道百度面试题Top K算法的详解:第二部分为关于Hash表算法的详细阐述:第三部分为打造一个最快的Hash表算法.----------------------------------

从头到尾彻底解析Hash 表算法

在研究MonetDB时深入的学习了hash算法,看了作者的文章很有感触,所以转发,希望能够使更多人受益! 十一.从头到尾彻底解析Hash 表算法 作者:July.wuliming.pkuoliver  出处:http://blog.csdn.net/v_JULY_v.  说明:本文分为三部分内容,    第一部分为一道百度面试题Top K算法的详解:第二部分为关于Hash表算法的详细阐述:第三部分为打造一个最快的Hash表算法.----------------------------------

Hash表算法

出处:http://blog.csdn.net/v_JULY_v 第一部分:Top K 算法详解问题描述百度面试题:    搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节.    假设目前有一千万个记录(这些查询串的重复度比较高,虽然总数是1千万,但如果除去重复后,不超过3百万个.一个查询串的重复度越高,说明查询它的用户越多,也就是越热门.),请你统计最热门的10个查询串,要求使用的内存不能超过1G. 必备知识:    什么是哈希表?    哈希

从头到尾彻底解析Hash表算法

作者:July.wuliming.pkuoliver 说明:本文分为三部分内容, 第一部分为一道百度面试题Top K算法的详解:第二部分为关于Hash表算法的详细阐述:第三部分为打造一个最快的Hash表算法. 第一部分:Top K 算法详解 问题描述(百度面试题): 搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节.假设目前有一千万个记录(这些查询串的重复度比较高,虽然总数是1千万,但如果除去重复后,不超过3百万个.一个查询串的重复度越高,说明查询

浅谈Hex编码算法

一.什么是Hex 将每一个字节表示的十六进制表示的内容,用字符串来显示. 二.作用 将不可见的,复杂的字节数组数据,转换为可显示的字符串数据 类似于Base64编码算法 区别:Base64将三个字节转换为四个字符,Hex将三个字节转换为六个字节 三.应用场景 在XML,JSON等文本中包含不可见数据(二进制数据)时使用 四.使用 1.将字节数组转换为字符串 1 /** 2 * 将字节数组转换为字符串 3 * 一个字节会形成两个字符,最终长度是原始数据的2倍 4 * @param data 5 *