SELECT disTINCT class_lowFROM groups NATURAL JOIN specIEsWHERE type ~~ 'faune'AND class_high ~~ 'arachnIDes'AND (class_mIDdle ~~ 'araignées' OR class_mIDdle IS NulL)AND (class_low ~~ '%' OR class_low IS NulL);
我明白了:
class_low --------------------- DictynIDés linyphiIDés SparassIDés MetIDés ThomisIDés DolomedIDés PisaurIDés araignées sauteuses araneIDés LycosIDés AtypIDés PholcIDés SégestriIDés TetragnathIDés MiturgIDés AgelenIDés
注意NulL值(它不是空的varchar).
现在,如果我这样查询:
SELECT array_to_string(array_agg(disTINCT class_low),',')FROM groups NATURAL JOIN specIEsWHERE type ~~ 'faune'AND class_high ~~ 'arachnIDes'AND (class_mIDdle ~~ 'araignées' OR class_mIDdle IS NulL)AND (class_low ~~ '%' OR class_low IS NulL);
我明白了:
array_to_string ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- AgelenIDés,araignées sauteuses,araneIDés,AtypIDés,DictynIDés,DolomedIDés,linyphiIDés,LycosIDés,MetIDés,MiturgIDés,PholcIDés,PisaurIDés,SégestriIDés,SparassIDés,TetragnathIDés,ThomisIDés
未插入NulL值.
有没有办法包括它?我的意思是:
……,…(只是一个双冒号)
解决方法 我没有8.4方便,但在更新的版本中,array_to_string忽略你的NulL所以问题不是array_agg,它是array_to_string.例如:
=> select distinct state from orders; state --------- success failure
该空行实际上是NulL.然后我们可以看到array_agg和array_to_string用这个东西做什么:
=> select array_agg(distinct state) from orders; array_agg ------------------------ {failure,success,NulL}=> select array_to_string(array_agg(distinct state),') from orders; array_to_string ----------------- failure,success
并且NulL在array_to_string调用中消失. documentation没有指定对NulL的任何特定处理,但忽略它们似乎与其他任何东西一样合理.
在版本9.x中,您可以像往常一样使用COALESCE:
=> select array_to_string(array_agg(distinct coalesce(state,'')),') from orders; array_to_string ------------------,failure,success
所以这可能适合你:
array_to_string(array_agg(disTINCT coalesce(class_low,')
当然,这会将NulL和空字符串折叠成一个值,这可能是也可能不是问题.
总结以上是内存溢出为你收集整理的如何在postgresql中使用array_agg包含NULL值?全部内容,希望文章能够帮你解决如何在postgresql中使用array_agg包含NULL值?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)