Отображать столбец только в том случае, если он не равен нулю.

Мне нужно отобразить конкретный столбец в моем SQL-результате, только если он не является нулевым. Если он равен нулю, я не хочу, чтобы этот столбец появлялся вообще в моем результате.

Есть ли способ выразить это условие в SQL?

Это не имеет смысла, потому что запрос может возвращать несколько строк. Одна строка может иметь значение для рассматриваемого столбца, а следующая может не иметь значения. Тогда условный столбец создаст структурную несогласованность между возвращаемыми строками.

Нет…

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

Запросы предназначены только для получения данных, а не для представления данных. Вы должны просто восстановить его и скрыть столбец, если все значения равны null .

SQL обычно не позволяет вам рассуждать о свойствах целых столбцов. Условия находятся на свойствах строк. Поэтому нет способа сказать «если все значения в этом наборе этого столбца равны нулю …». Однако вы можете тривиально ограничиться строками, которым не хватает свойства.

Если вы хотите показать столбец только тогда, когда он не является нулевым для каждой строки, вы можете сделать COUNT(*) WHERE … ваше общее условие … AND that_column IS NULL а затем повторить запрос, включая столбец, если первый результат равен 0 и исключая его в противном случае. Но я не уверен, почему вы хотите это сделать.