2011-12-27 2 views
1

Я хочу использовать инструкцию SELECT для получения данных из базы данных MYSQL и сохранения ее в DataTable. Затем я хочу использовать данные в ASP.NET C#. Проблема в том, что если есть NULL или пустые данные, это приводит к сбою программы. В любом случае, чтобы установить значение DEFAULT, такое как «0» или что-то, когда запись/ячейка пуста?MYSQL Count или Sum Значение по умолчанию

Например, «SELECT testID, userID, testScore FROM tableTestResults», но иногда testScore имеет значение null, поскольку он никогда не был выполнен. Мне интересно, может ли u установить значение по умолчанию для testScore, есть ли счет или нет.

Другой пример иногда u получает значение null при использовании COUNT, могу ли я установить для него значение по умолчанию?

+1

Показать пример запроса. Если у вас нет 'GROUP BY' в нем, то вы не получите' NULL', вы получите пустой результат (и это не соответствует значению «NULL') – zerkms

ответ

3
SELECT testID, userID, IFNULL(testScore, 42) FROM tableTestResults 

Если конкретно есть NULL там - IFNULL поможет вам

+0

ПРОСТОЙ УДАНЫЙ ответ, взломать и быстро. – GreenKhan

0

Вы можете сделать так, как

SELECT testID, userID, 
case(when testScore is null then 100 else testScore end) as testScore 
FROM tableTestResults 
0

Когда вы определяете таблицу данных, вы должны иметь возможность пометить поле базы данных, как NOT NULL, по умолчанию 0

CREATE TABLE Employee 
(
    ID SMALLINT UNSIGNED NOT NULL, 
    YearBorn YEAR NOT NULL DEFAULT 0 
); 

Таким образом, у вас никогда не будет нулевой записи

0

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

UPDATE tableTestResults SET testScore =0 
WHERE testScore isnull; 

Затем с помощью оператора выбора

для будущего экземпляра изменить таблицу и установить по умолчанию 0 в колонке testScore

+0

Никогда не рекомендуется ** изменять исходные данные ** вместо того, чтобы просто изменять ** выход ** – zerkms

+0

ok thx за советом – abhijit

Смежные вопросы