Я только что придумал простой способ сделать это для округления результатов в наборе результатов Google BigQuery - их подмножество SQL не позволяет вам округляться до определенного десятичного знака, но поддерживает регулярные выражения.
Поскольку, как кто-то упоминал выше, регулярные выражения не могут быть добавлены, то до тех пор, пока вы можете каким-либо образом добавлять константу к каждому значению, вы все равно можете получить остаток пути:
+ 0.5 if you're rounding up to the nearest integer
+ 0.05 if you are rounding up to the nearest 0.1
+ 0.005 if you are rounding up to the nearest 0.01 etc.
... и т. Д. - обычно добавьте половину наименьшего значения точности, чтобы получить эффект округления.
А затем запустите извлечение регулярных выражений для результата. Вышеприведенные, вероятно, будут работать для этого.
Вот шаблон регулярного выражения, на котором я остановился - он не самый надежный, но будет работать с числом, которое, как уже известно, имеет базовый формат с плавающей точкой:
+ for 0.1 precision use (-?\d*\.?\d?)
+ for 0.01 precision use (-?\d*\.?\d?\d?)
+ for 0.001 precision use (-?\d*\.?\d?\d?\d?)
Тогда округляется и усекается .