2013-12-12 21 views
0

我被格式化這樣幾個HTML日期字段:格式化MS SQL Server的日期在PHP

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

這隻要值在數據庫中存在日期1正常工作;然而,如果數據庫中的值爲NULL或空白,那麼我在我的領域得到12/31/1969。這顯然是不受歡迎的。如果數據庫中沒有值,我希望該字段爲空。我試着轉換日期在原來的SELECT查詢,就像這樣:

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

無濟於事。我也嘗試過自己的函數date()和strtotime(),但它們都拋出錯誤。

數據庫中的數據類型是「date」,它被設置爲接受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;