如何检查SQL Server中日期字符串是否为MM / DD / YYYY格式?
SET DATEFORMAT MDY; SELECT CASE WHEN ISDATE(@string) = 1 AND @string LIKE '[0-1][0-9]/[0-3][0-9]/[1-2][0-9][0-9][0-9]' THEN 1 ELSE 0 END;
如果结果为1,则为有效日期,但不能保证其为用户指定的日期。如果他们输入:
06/07/2012
没有办法知道是6月7日还是7月6日。最好的办法是让用户从下拉列表或日历控件中选择日期,这使您可以控制格式并避免不必要的解释。您的应用程序层可以使用强类型变量/参数,然后插入正确类型的列中。