首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Postgres -将文本转换为ltree

Postgres -将文本转换为ltree
EN

Stack Overflow用户
提问于 2018-01-19 03:26:58
回答 1查看 4.1K关注 0票数 2

我是postgres的新手,我想利用ltree作为层次数据结构。

我在varchar列中同时拥有数据和ltree结构(即domain.class.sublass),并且需要将ltree结构转换为另一个具有适当ltree数据类型的列。

我认为text2ltree是最好的管理方法,但是即使在阅读了ltree文档和ltree函数信息之后也没有取得很大进展。

我尝试了许多下面的组合

代码语言:javascript
复制
 alter table codes
alter column joinedclassname type ltree using text2ltree(joinedclassname);

但是收到以下错误:

错误:位置26 *错误*错误:位置26处的语法错误SQL状态: 42601

我还尝试了以下方法,并收到了同样的错误:

使用连接类名更改表代码、更改列连接类名类型ltree::ltree;

如何从varchar列转换为具有ltree数据类型的列?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2018-02-07 02:17:01

弄明白了:

ltree对连字符和空格不太好。一旦我连接了这个值,去掉了连字符和空格,它就可以正常工作了。

代码语言:javascript
复制
SELECT text2ltree(replace(concat_ws('.', Systemname::text, SubsystemName::text,ClassName::text,SubclassName::text),'-','_')) FROM codes;
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48333677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档