2011-04-05 225 views
2

我在PostgreSQL中遇到问题。我需要做这样的事情:如何将PostgreSQL中的“”转换为NULL

select * from single_occurrences 
where 
age::int4 > 29 

而且我得到了这个错误:

ERROR: invalid input syntax for integer: "" 

领域的年龄是一个文本字段。我如何将所有的“”值转换为空值?

最好的问候,

回答

2
SELECT * 
    FROM single_occurrences 
WHERE CASE WHEN age="" THEN NULL ELSE age::int4 END > 29 
+1

除非您需要存储“3个月”的年龄,而您在考虑将数据类型更改为整数。 – Kuberchaun 2011-04-05 18:17:01

+0

或者使用时间间隔。 – 2011-04-06 04:29:48

+0

这些应该是单引号。 – 2011-04-06 04:30:22

2

UPDATE single_occurrences SET年龄= NULL WHERE年龄= “”;