2012-02-01 6 views
0
@Table(name = "Table") 
class Table{ 
String a 
Integer b 
} 

ここでテーブルTの列Aは、文字変化(32)PostgreSQLの文字フィールドをJPAの名前付きクエリで整数に変換できますか?

あるIは、これらおよびエラーで終了アップの両方を試してみました。

SELECT t.b from Table t where Integer.parseInt(t.a) > 0 
Error : Caused by: org.postgresql.util.PSQLException: ERROR: schema "integer" does not exist 

SELECT t.b from Table t where (t.a::integer) > 0 
Error : invalid token :: at line <line number> 

おかげ

+4

あなたの最初の解決策はさらに増えていますが、PostgreSQLはInteger.parseIntを理解していないため、拒否しています。私はあなたの2番目の解決策が機能していないのに驚いています。 'SELECT t.b FROM table t WHERE CAST(t.a AS integer)> 0'を試してみてください。 –

+0

クエリは正常に動作します。 ありがとうございます。 – Leejoy

答えて

4

次のクエリは、私のために正常に動作します。

SELECT t.b FROM table t WHERE CAST(t.a AS integer) > 0 
+0

この回答は@Daniel Lyonsにありがとうございます。 – Leejoy

関連する問題