我一整天都在和这个问题做斗争,并且尝试了所有可能的方法知道。这里问题是:
我正在处理的字段的格式如下:
XXX年示例:001-2014(字符串)
假设我们有这些记录:
我希望得到的结果是011-2014(换句话说,最早的、价值最大的年份)
我写了一个在PostgreSql上运行良好的查询:
select split_part(numero_bl, '-', 1) as part1,
split_part(numero_bl, '-', 2) as part2
from livraisons
ORDER BY part2 desc,part1 desc limit 1
split_part函数将列“numero\u bl”拆分为2零件.so结果是这样的:
第1部分|第2部分
2014年1月
当我尝试在Python代码中引入它时,它使用升序返回正确的值,但是当它是降序时,返回('None',)
下面是python中我的函数的一个简单版本:
^{pr2}$当然,当我不放“else子句”时,它会返回('None',)
请问有没有办法解决这个问题?在
谢谢你
该列中有空值。当您要求降序时,空值将首先出现:
如果你想保留空值,那么告诉它最后一个命令是空的
^{pr2}$或者过滤掉空值
我找到了解决问题的办法。 我把我的问题改成了这个
首先,我只保存年份部分大于当前年份的记录,之后我取字段“numero”的最大值
如果有人感兴趣,以下是完整的代码:
^{pr2}$谢谢你们的回复
相关问题 更多 >
编程相关推荐