Маска столбца PL / SQL с фиксированным количеством символов в запросах - PullRequest
1 голос
/ 16 декабря 2011

Я хотел бы написать запрос, чтобы его вывод был хорошо отформатированным текстом.Каждый из его столбцов будет иметь определенное количество символов в ширину, если значение столбца, возвращаемое запросом, будет меньше, чем количество символов в столбцах, оставшиеся символы будут сообщены как «0», если столбец представляет число, или «», еслистолбец представляет строку.Возможно ли это?

Спасибо,

Тиаго

1 Ответ

1 голос
/ 16 декабря 2011

Ну, эксперты предупреждали вас об этом, но вот оно:

select   case when REGEXP_replace (DUMP (varchar2_column), '^Typ=(\d+).*', '\1') = 1 then lpad(varchar2_column, 10, ' ')
          else null end varchar2_column,
         case when REGEXP_replace (DUMP (number_column), '^Typ=(\d+).*', '\1') = 2 then lpad(number_column, 10, 0)
          else null end number_column
  from   table

типы данных (из дампа): http://docs.oracle.com/cd/B28359_01/server.111/b28286/sql_elements001.htm#BABCGCHG

регулярные выражения оракула: http://docs.oracle.com/cd/B19306_01/appdev.102/b14251/adfns_regexp.htm

Я бы опубликовал ссылку для функции дампа, но моя репутация, ну, в общем ... Вы можете Google это.

...