MDB2で空文字がNULLになるのを抑制するには、portabilityオプションを変更する必要があるそうな。
MDB2で空文字がNULLになるのを抑制するには、portabilityオプションを変更する必要があるそうな。
古い記事なので既に解決してるのかもしれませんが。僕はさっきはまったのでメモ。
「SELECT * FROM users WHERE email = ''」
ではなくて、
「SELECT * FROM users WHERE email = NULL」
でSQL式が評価されているような気がする。MDB2で空文字がbindされるとNULLになっている気がする
MDB2の可搬性に関する説明によると、デフォルトで
- MDB2_PORTABILITY_EMPTY_TO_NULL
入出力データの空文字列を null に変換します。 Oracle は空の文字列を null と判断するため、これが必要になります。 一方、他の大半の DBMS は空の文字列と null を区別します。
――になっているので、変更する必要があるみたい。
*1:前にそれで面倒なことになってたのを思い出した。