From: | hubert depesz lubaczewski <depesz(at)depesz(dot)com> |
---|---|
To: | V S P <toreason(at)fastmail(dot)fm> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: [Q] string to int hash function for small range |
Date: | 2009-03-08 04:26:35 |
Message-ID: | 20090308042635.GA22509@depesz.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Sat, Mar 07, 2009 at 09:33:33PM -0500, V S P wrote:
> I would like to have a function
> given a user id varchar(64) to get a hash number between 0 and 255.
>
> I first tried md5 but the number it returns is very big and cannot
> be converted to an INT
>
> there is likely a way to simply add ascii values of the userId together
> to get a small integer, but wanted to know if there are any other
> 'built-in' ways
>
> this is to get the database id based on user id.
this is bad idea, as there will be collisions. better use sequential
ids.
but if you *have to*:
select hashtext('username') % 128 + 127;
depesz;
--
Linkedin: http://www.linkedin.com/in/depesz / blog: http://www.depesz.com/
jid/gtalk: depesz(at)depesz(dot)com / aim:depeszhdl / skype:depesz_hdl / gg:6749007
From | Date | Subject | |
---|---|---|---|
Next Message | Scott Marlowe | 2009-03-08 05:34:21 | Re: PostgreSQL upgrade from 8.2.3 to 8.3.5 (and also data migration) |
Previous Message | Scott Marlowe | 2009-03-08 04:17:19 | Re: [Q] string to int hash function for small range |