繁体   English   中英

SQL Server日期格式MM / DD / YYYY

[英]SQL Server date format MM/DD/YYYY

如何检查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日。最好的办法是让用户从下拉菜单或日历控件中选择日期,这样您就可以控制格式并避免任何不必要的解释。 您的应用程序层可以使用强类型变量/参数并插入正确键入的列。

如果你正在使用SQL Server dateformat来查看它是否是MDY,那么使用:

dbcc useroptions

并查看dateformat Set Option

使用CONVERT函数将日期转换为此格式MM / DD / YYYY的日期字符串

select convert(varchar(10),getdate(),101)

输出将截至2012年9月8日

09/08/2012

除了检查日期字段是否为空之外,无需验证

你必须在数据库之外做。 数据库以其自己的格式在内部存储日期时间。 我不认为你可以阅读日期存储的格式。你可以按照自己喜欢的方式阅读它,例如dd / mm / yyyy或yyyy / mm / dd等。

您可以做的是在数据库外部检查任何日期字段的值。 您可以使用正则表达式。 但那将在数据库之外。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM