1

データベースからfloat値を取得しようとしています

以下は、nullが1を返すかどうかをチェックします。(DBではnullの場合は機能しますが、floatの場合はエラーになります)

month =  row.getString(39) != null ? row.getFloat(39): 1;

一方、以下は直接フロートします。(DBでfloatの場合は機能しますが、nullの場合はエラーになります)

float test = row.getFloat(39);

DBからfloatを取得するにはどうすればよいですか。nullの場合は、デフォルト値を返します。差分形式の場合はエラーが発生するため、どちらの形式でも取得できません。

できればSQLステートメントを変更せずに。45の変数があるので、それは非常に大きくなり、乱雑になり、管理できなくなります。私はそれを調べたことがありませんが、SQLで何らかのことができると思いますIFNULL(field,default)。または多分これは最良の方法です...IdはおそらくAS field最後にも必要ですが。

4

1 に答える 1

2

以下は、どのデータ型でも機能するようです。getObjectを使用して、nullかどうかを確認します。フロートの場合でも、!= nullそうでなければ無効な比較になります。

month =  row.getObject(39) != null ? row.getFloat(39): 1;
于 2012-04-19T10:37:01.987 に答える