我正在尝试清除过多的尾随零,我使用了以下查询...
UPDATE _table_ SET _column_=trim(trailing '00' FROM '_column_');
Run Code Online (Sandbox Code Playgroud)
...我收到以下错误:
错误:列"_column_"的表达式是text类型.
我已经玩过引号,因为它通常是文本与数字相比,虽然没有任何运气.
该CREATE TABLE语法:
CREATE TABLE _table_ (
id bigint NOT NULL,
x bigint,
y bigint,
_column_ numeric
);
Run Code Online (Sandbox Code Playgroud)
Postgres 版本 13 现在附带了以下trim_scale()功能:
UPDATE _table_ SET _column_ = trim_scale(_column_);
Run Code Online (Sandbox Code Playgroud)
您可以将参数和结果转换回数字:
UPDATE _table_ SET _column_=trim(trailing '00' FROM _column_::text)::numeric;
Run Code Online (Sandbox Code Playgroud)
另请注意,您不会像使用单引号引用列名称.