использовать coalesce()
SELECT 'CFS to Zero' Location, coalesce([0],0)+coalesce([1],0)+coalesce([2],0)+coalesce([3],0) FROM
(SELECT [ContainerCount],Time FROM #tt )as Tab1
PIVOT
(
MAX([ContainerCount]) FOR Time IN ([0],[1],[2],[3])) AS Tab2
Эти два - то же, по крайней мере, в C++. В C, обеспечивая пустую пару круглых скобок обычно означает неуказанный список параметров (в противоположность пустому списку параметров). C++ не имеет этой проблемы.
Как корректный ответ может получить downvoted так много раз? Еще один ТАК ошибка?
Давным-давно Вы сделали что-то вроде этого в C (мой предварительный ISO C ржав :)):
void foo(a, b)
int a,
int b
{
}
в то время как C++ создавался, искажение имени потребовало типов аргументов, таким образом, для C++ это было изменено на:
void foo(int a, int b)
{
}
и это изменение было выдвинуто на C.
На данном этапе я верю, чтобы не взламывать существующий код C это:
void foo()
и это:
void foo(void)
предназначенный две совсем других вещи, ()
средства не проверяют на число аргумента или тип, и (void)
средство не берет аргументов. Для C++ ()
значение не проверить что-либо не собиралось работать так ()
и (void)
имейте в виду то же самое в C++.
Так, для C++ ()
и (void)
всегда было то же самое.
По крайней мере, именно так я помню это... :-)
afaik, если Вы передаете пусто в конструктора или какую-либо функцию как аргумент, это означает, что функция dosnt берет любой аргумент так пример a, и b равны. но я не уверен, изменяет ли какой-либо из них функциональную подпись всегда или заставляет ее работать быстрее и т.д.
Я просто хотел добавить это, когда Вы используете пусто после параметров как функция (): пусто это используется, чтобы указать, что функция не возвращает значение.