Другие ответы относительно использования nvl () корректны однако, ни один, кажется, не обращается к более угловой точке:
Должен, Вы даже иметь АННУЛИРУЕТЕ в этом столбце?
у них есть значение кроме 0?
Это походит на случай, где у Вас должно быть ЗНАЧЕНИЕ ПО УМОЛЧАНИЮ NOT NULL 0 на th ecolumn
Одним словом: НЕТ!
Давайте посмотрим на:
sub ucwords{
$str = @_[0];
$str = lc($str);
$str =~ s/\b(\w)/\u$1/g;
return $str;
}
Прежде всего, вы не используете строгий
. Используй это. Это для вашего же блага.
Во-вторых, вы не используете предупреждения
. Используй это. Это для вашего же блага. Например, первый элемент @_
следует указывать с помощью $ _ [0]
и , а не @_ [0]
.
] В-третьих, вы должны привыкнуть время от времени читать список часто задаваемых вопросов, прежде чем снова изобретать колесо: Вы пытаетесь вызвать GetMonth, но на глобальном уровне программа на C ++ состоит из серии объявлений. Поскольку вызов функции не является объявлением, он не может существовать изолированно на глобальном уровне. У вас может быть объявление, которое также является определением, и в этом случае оно может вызывать функцию как часть инициализации.
Сам по себе вызов функции должен содержаться в какой-либо другой функции:
#ifdef TEST
int main() {
GetMonth();
}
#endif
В C / C ++ вы не можете просто добавить исполняемый код в тело заголовка. или файл реализации (.c, .cpp, .cxx и т. д.). Вместо этого вы должны добавить его в функцию. Если вы хотите, чтобы код запускался при запуске, обязательно добавьте его в основной метод.
int main(int argc, char *argv[]) {
GetMonth();
}
(В дополнение к другим ответам.) Чтобы вызвать функцию GetMonth (), вы должны либо вызвать ее из другой функции ('main', либо из того, что вызывается из 'main' ) или используйте его в выражении инициализатора объекта, объявленного в области пространства имен, как в
double global_dummy = GetMonth();
. Однако последний метод может иметь проблемы с порядком инициализации, поэтому рекомендуется по возможности использовать первый метод.
Программы C ++ не выполняются в глобальном контексте. Это означает, что вам нужно поместить вызов GetMonth в функцию для ее запуска. int main () {}
может подойти.