我正在寻找最好的方式来格式化从一个点数字数千。我正在从另一个表创建一个视图,我需要一些列具有这种格式。例如:10000->10000提前感谢您的回答!
f0brbegy1#
没有自定义项是有办法做到的,但这可能是性能问题。但对于小型数据集,它是有效的:您可以使用以下内置函数组合:
// Template select reverse(concat_ws(".",split(reverse(<column-to-format>),"(?<=\\G.{3})"))); // sample 1 - format number 12345678 select reverse(concat_ws(".",split(reverse("12345678"),"(?<=\\G.{3})"))); // sample 2 - format number 10000 select reverse(concat_ws(".",split(reverse("10000"),"(?<=\\G.{3})")));
编号为12345678的样品1的说明
1. reverse("12345678") Result: 87654321 2. split(reverse("12345678"),"(?<=\\G.{3})")")) Result: array [876,543,21] 3. concat_ws(".",split(reverse("10000"),"(?<=\\G.{3})")) Result "876.543.21" 4. finally reverse it back. Result: "12.543.876"
1条答案
按热度按时间f0brbegy1#
没有自定义项是有办法做到的,但这可能是性能问题。但对于小型数据集,它是有效的:您可以使用以下内置函数组合:
编号为12345678的样品1的说明