想把年份涉及公元前后按照升序排起来,试了很多种办法都没法衔接,有没有大大有解决方案的~
数据库排序问题
相关帖子
- 其他回帖
-
-
MisakaImouto • • 1
可以创建一个模板列,粘贴下面代码,然后模板列降序或升序。之后可以隐藏模板列,既不影响查看,也不影响后续插入新数据的排序。
.action{ $formatYear := .年份 }.action{ if eq .公历 "公元前" }.action{ $formatYear = (cat "0" .年份) }.action{ end }.action{ if eq .公历 "公元" }.action{ $formatYear = (cat "1" .年份) }.action{ end }.action{ $formatYear }
注意:把代码中的
.公历
换成你的 公历... 列名,截图中看不列的全名,所以需要自己补充完整。2 回复 -
JeffreyChen • • 2 • 1 评论
模板写好了,现在支持 5 位数年份、年份也不必要是 4 位了(开头的 0 填不填都行):
.action{ $Year := .年份 } .action{ if and (eq .公历纪元 "公元前") .年份 } .action{ $numYear := sub 99999 (atoi (trimSuffix "年" (regexFind "[0-9]\\d{0,4}年" $Year))) } .action{ $numYear = list (trunc (int (sub 5 (len (toString $numYear)))) "00000") $numYear | join "" } .action{ $numMonth := sub 99 (atoi (trimSuffix "月" (regexFind "[0-9]\\d{0,1}月" $Year))) } .action{ $numMonth = list (trunc (int (sub 2 (len (toString $numMonth)))) "00") $numMonth | join "" } .action{ $numDay := sub 99 (atoi (trimSuffix "日" (regexFind "[0-9]\\d{0,1}日" $Year))) } .action{ $numDay = list (trunc (int (sub 2 (len (toString $numDay)))) "00") $numDay | join "" } .action{ list "1" $numYear $numMonth $numDay | join "" } .action{ else if and (eq .公历纪元 "公元") .年份 } .action{ $numYear := trimSuffix "年" (regexFind "[0-9]\\d{0,4}年" $Year) } .action{ $numYear = list (trunc (int (sub 5 (len (toString $numYear)))) "00000") $numYear | join "" } .action{ $numMonth := trimSuffix "月" (regexFind "[0-9]\\d{0,1}月" $Year) } .action{ $numMonth = list (trunc (int (sub 2 (len (toString $numMonth)))) "00") $numMonth | join "" } .action{ $numDay := trimSuffix "日" (regexFind "[0-9]\\d{0,1}日" $Year) } .action{ $numDay = list (trunc (int (sub 2 (len (toString $numDay)))) "00") $numDay | join "" } .action{ list "2" $numYear $numMonth $numDay | join "" } .action{ else } 0 .action{ end }
1 操作JeffreyChen 在 2024-07-20 18:22:29 更新了该回帖哇。谢谢~ - 查看全部回帖
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于