2013-12-12 5 views
0

У меня есть несколько полей даты HTML, отформатированные как это:Форматирование даты MS SQL Server в PHP

<?php echo date('m/d/Y', strtotime($row['Date1'])); ?> 

Это прекрасно работает до тех пор, пока существует значение в базе данных для Date1; однако, если значение NULL или пустое в БД, то я получаю 12/31/1969 в своей области. Это явно нежелательно. Я хотел бы, чтобы поле было пустым, если в базе данных нет значения. Я попытался преобразовать дату в исходный запрос SELECT, например:

SELECT CONVERT(varchar, Date1, 101) FROM table; 

не имеет смысла. Я также пробовал функции date() и strtotime() самостоятельно, но они оба бросают ошибки.

Тип данных в базе данных - «дата», и он принимает значения NULL. В настоящее время значение по умолчанию отсутствует. Как я могу предотвратить появление этой ложной даты?

ответ

0

проверить его не пустой первый

if(!empty($row['Date1']){ 
    //echo date('m/d/Y', strtotime($row['Date1'])); 
    $db_date=date('m/d/Y', strtotime($row['Date1'])) 
}else{ 
    $db_date=''; 
} 
1

даже если есть правильный ответ, вы можете попробовать другой вариант:

SELECT ISNULL(CONVERT(varchar, Date1, 101), '') FROM table;

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