Home

memo-space

今さらFizzBuzz(当然PostgreSQL)

色々考えたけど、まあ許せるのはこのくらいか。

-- スタンダードに
select case
  when i%15=0 then 'FizzBuzz'
  when i%5=0 then 'Buzz'
  when i%3=0 then 'Fizz'
  else i::text end
  from generate_series(1,100)as s(i);


-- ちょっとアグレッシブに(8.2以降)
select coalesce(v15.t, v3.t, v5.t, s.i::text)
  from generate_series(1,100)as s(i)
  left join(
       values(0,'FizzBuzz')) as v15(i,t) on (s.i%15=v15.i)
  left join(
       values(0,'Fizz')) as v3(i,t) on (s.i%3=v3.i)
  left join(
       values(0,'Buzz')) as v5(i,t) on (s.i%5=v5.i)

あ、valuesじゃなくて普通にサブクエリでいいのか。まあvaluesって書いてみたかっただけです。

Smartyのtruncateはfunc_overloadでいいんじゃない

  • 2007-06-15
  • php

ずいぶん前からよく見かける話題だけど、また最近見かけたので。

いちばん手っ取り早いのは、mbstring.func_overloadを設定しちゃうことだと思いますよ。自分でプラグイン書く必要とか無いです。

交換不可能な(ry

Home

Search
Feeds
Profile
石田@苫小牧市と名乗りつつ札幌の某社に勤務するプログラマ
書いた本
Links

Page Top