1

boa_userが3人のユーザーを返すテーブルがあります..

SELECT DISTINCT u.name, u.updated_by, u.updateddate
FROM YTR_USER u, YTR_user_group ug, YTR_group g
WHERE u.id = ug.user_id
  AND ug.group_id = g.id
  AND u.ACTIVE_FLAG='Y'
  AND g.id not in (13,11,15)
ORDER BY u.name

以下はフォーマットです..

NAME    UPDATED_BY  UPDATEDDATE
AAA     edfef      03.03.03 14:29:34.000
BBB     ferer      12.12.12 15:13:23.756

今coulmnはタイプです

name        VARCHAR2(30)
updateddate TIMESTAMP(6)

さて、クエリは結果を返しますが、その間に名前の値がnullで更新された日付の値がnullの列がいくつかあります。

私の質問は、名前がnullで更新日がnullの場合、デフォルト値が「AFGT」のようになり、updatedateのデフォルト値が「05.03.13 05:29:34」、「MM.DD」になるようにクエリにアドバイスすることです。 .YY HH:MI'

名前と更新日が null の場合は、これらのデフォルト値を追加するようクエリにアドバイスしてください

4

2 に答える 2

2

選択部分でNVL 関数を使用します。

そんな感じ:

SELECT DISTINCT 
    nvl(u.name, <defaultname>), 
    u.updated_by, 
    nvl(u.updateddate, <deafultdate>)
FROM YTR_USER u, YTR_user_group ug, YTR_group g
WHERE u.id = ug.user_id
  AND ug.group_id = g.id
  AND u.ACTIVE_FLAG='Y'
  AND g.id not in (13,11,15)
ORDER BY u.name

. _ name is null _ _ updateddate is nullあなたの質問はここでは少し不明確です。

したがって、たとえば上記のステートメントは、name が null で updateddate が null でない場合にも default-name を返します。他のフィールドが null かどうかに関係なく、対応するフィールドが null の場合は常にデフォルト値を返します。

于 2013-08-01T11:15:40.540 に答える