我一直在尝试使用此查询:
Select ((2017 - CAST(substring(p.nip from 9 for 4) AS INTEGER)) * 12) + 11 - CAST(substring(p.nip from 13 for 2) AS INTEGER) >= 144 from m_pegawai p
无济于事。我一直收到错误ERROR: invalid input syntax for integer: ""
查询有什么问题?我试图将括号放在不同的地方但到目前为止没有结果。
答案 0 :(得分:0)
空字符串''
不是有效整数。某些数据库允许您将''
投射到0
。 PostgreSQL不是其中之一。
使用
CAST (NULLIF(substring(...), '') AS INTEGER)
或者对于SQL标准方法,使用CASE
表达式 - 但这更详细。