1

ユーザーから、次のような表が提供されました。

Name   HH08   HH09   HH10   HH11   HH12   HH13
Bob      2      3      4      2      7      1
Steve    2      9      3      2      2      5
Mike     2      2      2      2      3      2
Pat      1      0      2      0      0      0

名前に基づいて行を選択し、クエリの実行時にsysdateの現在の時間に基づいて列を選択するSQLが必要です。

午前 9 時 27 分でユーザーが Steve の場合、SQL は 9 の値を選択する必要があります。

これを行う単純なSQLはありますか、それともユーザーが私に与えたテーブルを再構築する必要がありますか。

前もって感謝します。

4

3 に答える 3

4

試す:

select case to_char(sysdate,'hh24')
           when '08' then hh08
           when '09' then hh09
           when '10' then hh10
           when '11' then hh11
           when '12' then hh12
           when '13' then hh13
       end OutputValue
from TableName
WHERE Name = 'Steve'
于 2013-07-16T15:37:46.097 に答える
1
SELECT 'HH'+convert(char(2),DATEPART(hour,getdate()))
FROM TableName
WHERE Name = 'Steve'

これを試してみてください

于 2013-07-16T15:29:22.177 に答える