Скрыть пустые столбцы

У меня есть стол с 75 колонками. что такое оператор sql для отображения только столбцов со значениями внутри?

благодаря

Верно, что аналогичного утверждения не существует (в SELECT вы можете использовать фильтры условий только для строк, а не для столбцов). Но вы можете попытаться написать (немного сложную) процедуру . Он должен проверить, какие столбцы содержат хотя бы одно NULL / empty, используя запросы. Когда вы получаете этот список столбцов, просто присоединяйте их к строке с запятой между каждой и создайте запрос, который вы можете запустить, возвращая то, что вы хотели.

EDIT : Я думал об этом, и я думаю, что вы можете сделать это с помощью процедуры, но при одном из этих условий:

  • найти способ динамически получать имена столбцов в процедуре, то есть метаданные (я никогда не слышал об этом, но я новичок в процедурах)

  • или hardcode, все имена столбцов (обходимость общности)

Вы можете собирать имена столбцов внутри массива , если хранимые процедуры ваших массивов поддержки СУБД (или писать процедуру на языке программирования, например C), и создавать петлю на них, делая каждый раз SELECT , проверяя, является ли это пустой * столбец или нет , Если он содержит хотя бы одно значение, соедините его в строке, где имена столбцов разделены запятой . Наконец, вы можете сделать свой запрос только с непустыми столбцами!

В качестве альтернативы хранимой процедуре вы можете написать короткую программу (например, на Java), где вы можете справиться с большей гибкостью.

* если вы проверите значения NULL это будет просто, но если вы проверите пустые значения, вам нужно будет управлять каждым типом данных столбца … другим массивом с типами данных?

Я бы посоветовал вам написать SELECT и определить, какие COLUMNS вы хотите отобразить, а затем сохранить QUERY как VIEW .

Это избавит вас от необходимости вводить имена столбцов каждый раз, когда вы хотите запустить этот запрос.

Как отмечалось в комментариях marc_s, для скрытия столбцов данных нет оператора select.

Вы можете сделать предварительный анализ и динамически создать инструкцию для этого, но это было бы очень неэффективно с точки зрения производительности SQL. Был бы сильный совет против того, что вы пытаетесь сделать.