Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Conversion String to UUID in Postgres and Java

I need to convert String ( text ) to UUID ( Postgres ) and keep the same sorting like for a String. Is it possible? I saw the UUID base on the time, so maybe it's not possible?

like image 286
javalonde Avatar asked Oct 07 '12 18:10

javalonde


3 Answers

In PostgresSQL's SQL grammar Using

concat(UUID,'')

returns a text result. Using

uuid(text)

returns a UUID result.

like image 151
Popeye Avatar answered Oct 18 '22 22:10

Popeye


In PostgreSQL, apart from using uuid(), it's also possible to specify the type explicitly like ::uuid:

with myconst (__ef_filter__id_0, __filter_workitemid_0, __filter_projectid_1, __id_2) as (
values ( 'fcb8284c-1bd4-4d50-b5df-09a091b01d8c'::uuid, '9e4b70a7-c222-47dd-87cb-fbbaaf396ccd'::uuid, uuid('2b10c0a5-e35d-425d-a71a-9e473924ac4c'), uuid('3fa85f64-5717-4562-b3fc-2c963f66afa6')) )
select ...
like image 32
dodbrian Avatar answered Oct 18 '22 23:10

dodbrian


There is a class in JDK dedicated to the management of UUIDs, called java.util.UUID. There's a static method fromString in it that should fit your goal. As far as I can see, you can use instances of UUID in JDBC insert statements.

like image 3
Marko Topolnik Avatar answered Oct 19 '22 00:10

Marko Topolnik