это работает для меня. попробуйте следующее:
N = 3
a = [0 if N<2 else val*2 for val in range(0,N//2)]
#output: [0]
BradC имеет лучший ответ до сих пор, но в случае, если Вы по некоторым причинам не можете составить дополнительную таблицу, я хотел отправить адаптацию ответа Kibbee:
SELECT
CASE WHEN Product IN ('Banana', 'Apple', 'Orange') Then 'Fruit'
ELSE Product END
FROM [Table]
Сделайте новую таблицу "категории", которая имеет список Ваших продуктов, наряду с "категорией", которой они принадлежат.
Затем просто сделайте внутреннее объединение.
Select
Case Product WHEN 'Banana' Then 'Fruit'
WHEN 'Apple' Then 'Fruit'
WHEN 'Orange' Then 'Fruit'
ELSE Product
END
FROM Table
Если нет никаких других продуктов, чем упомянутые, Вы могли бы сделать:
SELECT 'Fruit' AS Product,
Quantity
FROM Table
Если существует другой закон продуктов, добавляет оператор Where
WHERE Product IN ('Banana', 'Orange', 'Apple')
Вы могли составить временную таблицу со столбцом 'Product' отдельного столбца и вставить все названия продукта, которые Вы хотите заменить.
Затем сделайте внутреннее объединение против целевой таблицы для Вашего обновления.
UPDATE
Table
SET Product = 'Fruit'
FROM
Table t1 INNER JOIN #Table t2 on t1.Product = t2.Product
Предложение для создания таблицы "категории" будет лучшим выбором в течение длительного периода.
Поскольку примеры проверяют эту ссылку: Данные принадлежат Ваших таблиц - не в Вашем коде
Одинарные кавычки для разделения текста в SQL:
CASE WHEN ShiptoPlant IN (';','/',' ') Then '' ELSE ShipToPlant END