Вы можете использовать row_number()
SELECT * FROM
( SELECT t.*, row_number() OVER ( PARTITION BY CID ORDER BY GATH_DTM DESC ) as rn
FROM TB_020 t
WHERE DATA_STAT_CODE=28001
) WHERE rn = 1
. Другим способом играть с двоичными данными является String#unpack.
Можно сделать так через использование base64, который является довольно универсальным путем.
require 'base64'
str = Base64.encode64(data)