Синтаксис формулы вычисляемого столбца SQL Server

Нет, Вы не мечтали. Python имеет довольно превосходную систему понимания списка, которая позволяет Вам управлять списками довольно изящно, и в зависимости от точно, что Вы хотите выполнить, это может быть сделано несколько путей. В сущности то, что Вы делаете, говорит "Для объекта в списке, если criteria.matches", и от которого можно просто выполнить итерации через результаты или вывести результаты в новый список.

я собираюсь запереть пример от Погружение В Python здесь, потому что это довольно изящно, и они более умны, чем я. Здесь они получают список файлов в каталоге, затем фильтруя список для всех файлов, которые соответствуют регулярному выражению критерии.

    files = os.listdir(path)                               
    test = re.compile("test\.py$", re.IGNORECASE)          
    files = [f for f in files if test.search(f)]

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

Eric Sipple

8
задан Dhwani 3 June 2013 в 21:39
поделиться

1 ответ

Вычисляемый столбец должен возвращать значение, а вы просто выполняете сравнение. Попробуйте вместо этого:

case when label is null then 0 else 1 end

SQL Server не распознает это как столбец, не допускающий NULL. Чтобы справиться с этим, измените вычисление на:

isnull(case when label IS NULL then 0 else 1 end, 0)
26
ответ дан 3 November 2019 в 14:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: