2012年12月5日水曜日

mysqlでconcatの中でcaseを使う

こういう感じです。

select
concat(
case when 1 then 2 else 3 end,
case when 0 then 4 else 5 end,
case when 1 then 6 else 7 end,
case when 0 then 8 else 9 end
) as test


これで返り値は「2569」です。

あとconcat_wsというのも便利。

select
concat_ws(
',',
case when 1 then 2 else 3 end,
case when 0 then 4 else 5 end,
null,
case when 0 then 8 else 9 end
) as test


これで返り値は「2,5,9」になります。

mysqlのgroup_concat関数が便利

http://treeapps.hatenablog.com/entry/20120530/p1

これは便利です。覚えておこう。