MySQL の DECODE 関数をどのように使うか
MySQLにはDECODE関数がもともとありませんが、CASE文を使えば同様の機能を実現できます。
例えば、column_nameという名前の列があり、1 が男性、2 が女性を表している値があり、これらの値を 「男性」または「女性」にデコードしたい場合、次のステートメントを使用できます。
CASE column_name WHEN
1の場合「男」
2の時「女」
それ以外は「不明」
END AS性別
FROM table_name;
このため、genderという名前の新列が作られます。decodeされた性別値が含まれます。column_nameの値が1または2ではない場合、「不明」が返されます。
CASEステートメントを使用してDECODE関数をエミュレートする方法にすぎないことに注意してください。実際、DECODE関数はOracleデータベースの特殊関数であり、MySQLの標準関数ではありません。MySQLでは、通常、CASEステートメントを使用して同様の機能を実現します。