2012-02-15 123 views

回答

2

00-00-0000不是日期。如果用戶沒有輸入任何東西,那沒關係,請輸入NULL。如果您確實想在客戶端將其顯示爲00-00-0000,則可以使用COALESCE(例如,

DECLARE @d TABLE(d DATETIME); 

INSERT @d SELECT '2011-01-01' 
    UNION ALL SELECT NULL; 

SELECT COALESCE(
    CONVERT(CHAR(10), d, 120), '0000-00-00') 
    FROM @d; 
+0

亞倫感謝您的回覆,是不是可能從frent結束,我使用asp.net。 – 2012-02-15 07:02:16

+1

我不確定你的意思是「不可能」 - asp.net知道用戶是否輸入了日期,不是嗎?所以可以傳遞關鍵字'NULL'而不是格式化的字符串? – 2012-02-15 07:03:31

+0

亞倫實際上,當用戶不輸入日期選項,然後將採取空,但它是給錯誤,說格式不正確,因爲我正在將文本框中的值轉換爲日期時間。 – 2012-02-15 07:09:13