我在Postgresql中使用Thingsboard。
我想做的是通过直接访问内部数据库来获取资产ID。
thingsboards的架构具有带有ID字段的资产表。但是它的ID与UI的格式不同。
select id from asset;
1e8027e92ad5cd0b8faaf5b54912004
id
的类型是varchar(31),看起来不像UUID。
但是我想从UI中获得92ad5cd0-027e-11e8-b8fa-af5b54912004
。
我该如何转换呢?
答案 0 :(得分:1)
在ThingsBoard中,对于SQL数据库,在数据库内部修剪了UUID,并删除了-字符。
看看这个工具: org.thingsboard.server.common.data.UUIDConverter
fromTimeUUID ()->将UUID转换为String(您在Postgresql中看到的该值)
fromString ()->将字符串转换为真实的UUID
public static UUID fromString(String src) {
return UUID.fromString(src.substring(7, 15) + "-" +
src.substring(3, 7) + "-1" +
src.substring(0, 3) + "-" +
src.substring(15, 19) + "-" +
src.substring(19));
}