WordPressやSymfonyのTipsを中心にアニメや日常の出来事について語ります。
メニュー

【Symfony2】Doctrine2でNVL関数が使えなかったので、代替策を考えた

この記事は約57秒で読めます

symfony-2
ゆっきー
ども、カフェブロガーの悠木です。 お気に入りのカフェはドトールコーヒーです。 14時からの限定スイーツ「シューシャポー」が大好きです。

前回の記事は行値構成子が使えないという問題でした。
今回はNVL関数が使えませんでした。

NVL関数とは

Null を別の値に置換する関数です。
Null 以外はそのまま返ってきます。


NVL ( expr1 , expr2 )

式1 expr1 が Null だったら式2 expr2を返します。

これがDoctrine2では未サポートの関数だったようです。
Doctrineに関数を手動で追加する方法もあるようです。

・・・ごめん、正直ワカランカッタ。

代替案:COALESCE句を使う

COALESCE関数を使うとよいらしいです。
最初なんて読んだらいいのかさえ分からない関数でした。

コアレスと読むらしいです。


COALESCE( expr1,…, exprN )

可変長の引数を持てるようです。
expr1がNullだったらexpr2を返す。
expr2がNullだったらexprNを返す。

といった動きをするようです。

COALESCE関数の使用例

B.col2 の値が Null だったら ’00’ を返すようになっています。
前回の記事から引っ張ってきました)

参考になったサイト

Symfony2おすすめ書籍

関連記事

  1. symfony2
  2. symfony2
  3. symfony2
  4. symfony2
  5. symfony2
  6. symfony2

コメントをお待ちしております

PR

カテゴリー