2012-02-15 144 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