为什么 trim 在 Postgres 9.3 中没有完成这项工作?
Why trim in Postgres 9.3 did not do the work?
我们想要 trim postgres 9.3 中 resource
列的前导和尾随 space,这似乎是一项简单的工作。这是 SQL:
update tablename set resource=trim(resource);
查询在 postgres 管理工具 SQL 屏幕中成功执行。然而 space 不是 trimmed。然后我们通过指定id执行SQL:
update tablename set resource=trim(resource) where id=723;
它返回:
Query returned successfully: one row affected, 12 ms execution time.
然而结果是一样的,没有更新。同样的 SQL 在终端 window 中执行,但没有任何反应。
为什么trim
在这里不起作用?
据推测,您看到的角色不是真实的 space。您可以使用以下命令查看它的 ASCII 代码:
select ascii(left(resource, 1))
from tablename
where id = 723;
如果你只想去掉第一个字符,你可以这样做:
update tablename
set resource = substring(resource from 2)
where id = 723;
我们想要 trim postgres 9.3 中 resource
列的前导和尾随 space,这似乎是一项简单的工作。这是 SQL:
update tablename set resource=trim(resource);
查询在 postgres 管理工具 SQL 屏幕中成功执行。然而 space 不是 trimmed。然后我们通过指定id执行SQL:
update tablename set resource=trim(resource) where id=723;
它返回:
Query returned successfully: one row affected, 12 ms execution time.
然而结果是一样的,没有更新。同样的 SQL 在终端 window 中执行,但没有任何反应。
为什么trim
在这里不起作用?
据推测,您看到的角色不是真实的 space。您可以使用以下命令查看它的 ASCII 代码:
select ascii(left(resource, 1))
from tablename
where id = 723;
如果你只想去掉第一个字符,你可以这样做:
update tablename
set resource = substring(resource from 2)
where id = 723;