2013年2月27日水曜日

oracle テキストデータの切り詰め処理


とあるテキストデータが21文字以上の場合、20文字で切って末尾に"..."をつける。
ただし、nullの場合はnullのまま表示すること。

ということで、こんな感じのSQLにしてみた。

SELECT
  CASE
    WHEN Comment is NULL THEN ''
  ELSE
    CASE
      WHEN length(Comment) < 21 THEN Comment
    ELSE Substr(Comment,0,20)|| '...' END
  END AS COMMENT FROM hoge_table


とりあえず思った通り動く気がするけれど、なにかマズイことあるかな...?

0 件のコメント:

コメントを投稿