В PostgreSQL есть функция to_hex, которая конвертирует int в hex. А вот обратной – нет. Если у вас простой SQL-запрос, то можно выполнить

SELECT x'10'

А вот если нужно сконвертировать какое-то поле из 16-тиричной системы счисления, то я нагуглил такую функцию. Думаю, кому-то поможет:

CREATE FUNCTION from_hex(t text) RETURNS INTEGER AS $$
DECLARE
  r BIGINT;
BEGIN
  EXECUTE('SELECT CAST(x'''||in_hex||''' AS BIGINT)') INTO r;
  RETURN r; 
END;
$$ LANGUAGE plpgsql IMMUTABLE STRICT;

UPD: спасибо oktogen

2 Responses to “int2hex”

  1. А теперь порнографию с циклом замените на
    DECLARE
    r BIGINT;
    BEGIN
    EXECUTE('SELECT CAST(x'''||in_hex||''' AS BIGINT)') INTO r;
    RETURN r;
    END;

  2. спасибо

Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

© 2012 Андрей Костенко Suffusion theme by Sayontan Sinha