postgresql之greenplum字符串去重拼接方式(post过去分词)学到了

随心笔谈9个月前更新 admin
197 00
🌐 经济型:买域名、轻量云服务器、用途:游戏 网站等 《腾讯云》特点:特价机便宜 适合初学者用 点我优惠购买
🚀 拓展型:买域名、轻量云服务器、用途:游戏 网站等 《阿里云》特点:中档服务器便宜 域名备案事多 点我优惠购买
🛡️ 稳定型:买域名、轻量云服务器、用途:游戏 网站等 《西部数码》 特点:比上两家略贵但是稳定性超好事也少 点我优惠购买

文章摘要

这篇文章主要介绍了PostgreSQL和Greenplum中字符串处理的相关方法。在PostgreSQL中,可以通过`collect_set`函数对字符串进行去重,并使用`array_agg`和`array_to_string`对去重后的结果进行拼接。此外,文章还讨论了字符串与数字之间的转换方法:通过`position`函数可以判断一个字符串是否是另一个字符串的子串,使用`to_number`和`cast`函数可以实现字符串到数字的转换。需要注意的是,`to_number`函数会限制数字的大小范围,而`cast`函数则不会。文章还提到,在将数字转换为字符串时,使用`cast`函数可以避免输出前导空格的问题。这些经验总结为读者提供了参考,并呼吁大家多多支持脚本之家。



目录postgresql greenplum字符串去重拼接postgresql字符串处理方式关于查找字符串字符串与数字的相互转换总结

pg 、gp 实现 collect_set  效果:

array_agg(DISTINCT $columnName))
array(SELECT DISTINCT ? $columnName ?from $tableName )

字符串拼接 :

array_to_string(array_agg(DISTINCT ), ‘|’)?
select position(‘hello’ in ‘test_sql’)?
output:0
select position(‘test’ in ‘test_sql’)?
output:1

故可用position(str_1 in str_2) !=0判断str_1是否是str_2的子串。

字符串->数字

to_number(block_id,’999999′)和cast(block_id as numeric),但前一句会限定的数字大小为10的5次方,即过大的数值会出问题,而后一句不会。

数字->字符串

cast(block_id as varchar)将数值型转为字符串型。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:PostgreSQL 使用raise函数打印字符串postgreSQL 数字与字符串类型转换操作解决postgresql 数字转换成字符串前面会多出一个空格的问题

© 版权声明

相关文章