2013-12-06 4 views
0

Как можно вставить нуль в конце строки, используя select оВставьте нуль в конце строки

Например, предположим, что:

select value from (select value state from datatable where dataname like 'BENCH_DATA_S_%'')state 

и это приведет четыре ряда одна колонка

RECH 
MACHINE 
BOOKS 
ETC 

Теперь я хочу вставить нуль также в конце строки.

Я хочу, чтобы этот вывод:

RECH 
MACHINE 
BOOKS 
ETC 
null 

Я попробовал его с помощью UNION, но, кажется, он не работает

+0

Я не» Т понять. Вы говорите, что ваш запрос возвращает 1 строку с 4 столбцами данных? Это не то, что вы показываете, но оно похоже на комментарий «конец строки». Вы пытаетесь добавить NULL в пятую строку? Или как пятая колонка? –

+0

обновили то же !!! Спасибо –

ответ

2

Если вы хотите нулевой быть последняя запись вы можете попробовать что-то вроде этого :

select data 
    from (select value as data, 
       1 as sort 
      from datatable 
      where dataname like 'BENCH_DATA_S_%'' 

      union all 

      select null, 
       2 
      from dual) 
order by sort 

Я добавил дополнительный столбец (сортировка) для (возможно) сохраняющих со данных lumn's (data); если порядок столбца данных ничего для вас не значит, вы можете упростить запрос:

select value as data 
    from datatable 
    where dataname like 'BENCH_DATA_S_%'' 

    union all 

    select null 
    from dual 

order by data asc nulls last -- or data desc nulls last 
+0

Спасибо! мы можем сделать это без добавления дополнительной колонки? –

+0

@Java_Alert: я добавил столбец «сортировки», чтобы сохранить «данные»; если вы готовы сортировать по «данным», вы можете упростить запрос - см. мое редактирование –

0

Союз должен работать. Просто убедитесь, что количество столбцов соответствует количеству NULL.

SELECT 1,2,3 FROM dual 
UNION ALL 
SELECT NULL, NULL, NULL FROM dual 
ORDER BY 1 NULLS LAST; 
1

Попробуйте это тоже

SELECT value FROM(
    SELECT value FROM datatable WHERE dataname LIKE 'BENCH_DATA_S_%' 
    UNION ALL 
    SELECT NULL value FROM DUAL) 
1

Если вы хотите добавить столбец:

SELECT RECH, 
     MACHINE, 
     BOOKS, 
     ETC, 
     null AS "null" 
FROM datatable 
WHERE dataname LIKE 'BENCH_DATA_S_%'; 

Если вы хотите добавить строку:

SELECT RECH, 
     MACHINE, 
     BOOKS, 
     ETC 
FROM datatable 
WHERE dataname LIKE 'BENCH_DATA_S_%' 
UNION ALL 
SELECT NULL, 
     NULL, 
     NULL, 
     NULL 
FROM DUAL 
ORDER BY 
     RECH NULLS LAST, 
     MACHINE NULLS LAST, 
     BOOKS NULLS LAST, 
     ETC NULLS LAST; 
+0

upvote для заказа с помощью nulls last – vijayaragavan

Смежные вопросы