SELECT substring(category FROM '[0-9]+') from microwaves;
这样可以正常工作并返回数字的微波类别。
UPDATE microwaves SET category = '' WHERE substring(category FROM '[0-9]+');
这会在Postgres 9.5中引发错误
错误:WHERE的参数必须是boolean类型,而不是type text
如何更新数字字段?
答案 0 :(得分:1)
WHERE子句用于将结果过滤到使子句为true的所有项,但SUBSTRING()返回文本。您可能正在寻找以下其中一项:
UPDATE microwaves SET category = '' WHERE substring(category FROM '[0-9]+') is null;
-OR -
UPDATE microwaves SET category = '' WHERE substring(category FROM '[0-9]+') is not null;