質問

SQLにnvl()と同等の関数はありますか?

または、特定のシナリオで同じように使用するのに十分近いものですか?


更新:
ifステートメントなし
caseステートメントなし
isnullなし
合体なし

ジェネラコディセタグプレ

役に立ちましたか?

解決

Informixを使用しているようです。

AFAIK、そこにデコードがあります:

DECODE(field, NULL, 'it is null, man', field)NVL(field, 'it is null, man')と同じ結果をもたらすはずです

使用しているRDBMSの正確な名前とバージョンを投稿してください。

他のヒント

ISNULL (1回の置換の場合)

または

COALESCE (引数の中で最初のnull以外の式を返します。)

SQL Server: IsNullまたはCOALESCE http://msdn.microsoft.com/en-us/library/ms184325 aspx

Sybase: isnull関数 http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.help.ase_15.0.blocks/html/blocks/blocks162.htm

Postgres: 十分にチェックしていませんが、見つかりませんでした。どこがNULLであるかを選択し、ここからビルドすることをお勧めします http://archives.postgresql.org/pgsql-sql/1998- 06 / msg00142.php

DB2-COALESCE http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/admin/r0000780.htm >

800エラーを生成しているDECODEステートメントの問題は単純です。'01/01/2009'は文字列として扱われ、実際にエラーを生成するのは4番目の引数です。

DECODEステートメントの入力と出力は異なるデータ型である可能性があるため、この場合、エンジンではより明示的にする必要があります。(purge_dateを文字列または文字列'01/01/2009'としてキャストするか、文字列引数を日付または元の日付として解析しますか?エンジンが知る方法はありません。

これを試してください: ジェネラコディセタグプレ

その3番目の引数を次のように書くこともできます: ジェネラコディセタグプレ

バージョンと個人的な好みによって異なります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top