2015-03-28 4 views
-3

У меня есть имя таблицы sample_table и это иметь несколько столбцов, но мне нужно выбрать два столбца имя NAME и DATE из этой таблицы и DATE поля может быть NULL или 0000-00-00.ВЫБОР ДЛЯ QUERY MYSQL

Но мне нужны все записи для NAME и where date is NULL or 0000-00-00 запрос возвращает 0 против этого имени.

Пожалуйста, помогите и спасибо заранее.

Я имею в виду эта дата completion_date и я хочу 0 везде, где нет никаких записей completion date против name для ex -

Name Date 
Ram Null 
Shyam 0000-00-00 
Heena 2015-12-23 

ожидаемый результат будет -

Ram - 0 
Shyam - 0 
Heena - 1 
+4

Поместите запрос, который вы пробовали, ввод и ожидаемый результат; – Avidan

+0

, кроме 'null' и' 0000-00-00', есть ли в вашей колонке даты какие-либо другие «настоящие даты»? – Avidan

+2

Рассматривая свой вопрос, 'простая инструкция select' будет выполнять вашу работу. Пока вы не опубликуете то, что вы пробовали до сих пор; ваш вопрос нам не очень понятен. – Avidan

ответ

0
SELECT `date`,name FROM sample_table WHERE `DATE` IS NULL OR `DATE` = '0000-00-00' 

ПРИМЕЧАНИЕ : DATE является зарезервированным словом, поэтому его нужно заключить в обратную линию, чтобы обрабатываться как имя столбца. Из-за этого я настоятельно рекомендую изменить имена столбцов. Что это за дата?

+0

Я имею в виду эта дата COMPLETION_DATE и я хочу 0 везде, где нет никаких сведений о дате завершения от имени для экс - Имя Дата Ram Null Shyam 0000-00-00 Heena 2015-12-23 ожидалось результатом будет - Ram - 0 Shyam - 0 Heena - 1 – user3666112

+0

PHP здесь не имеет отношения. Backticks являются частью синтаксиса MySQL. –

+0

Достаточно честно @ Zurahn, ответ обновлен. Я знал, что это одно или другое, но в момент написания не собирался копаться в течение десяти минут, чтобы подтвердить. : - / – Martin

0

Не уверен, но вы можете попробовать:

select name, case when CAST(IFNULL(`Date`,'0000-00-00') as varchar(50))= 
'0000-00-00' then 0 else 1 End from My_Table_Name