强制用户输入特定的日期格式

时间:2012-03-20 05:13:01

标签: sql-server-2005 tsql integrity

如何强制用户仅以“yyyy-mm-dd hh:mm:ss”格式插入日期。

我知道我可以使用“CONVERT”功能随时以任何格式转换日期。但我希望用户以这种格式输入日期。

OR

如何检查数据库中输入日期的格式是否正确。我喜欢使用一些检查日期的功能。

1 个答案:

答案 0 :(得分:0)

将日期时间格式作为字符串或varchar值传递给存储过程。从这里,您可以将其转换为您需要的日期时间格式,并将其存储到第二个varchar变量中,以便将其与第一个进行比较。现在您同时拥有原始varchar日期和转换后的varchar日期,比较两个字符串以查看它们是否匹配。

CREATE FUNCTION checkdateformat (@myUserInput nvarchar(30)) RETURNS INTEGER AS

DECLARE @myDateString varchar(30)
SET @myDateString = @myUserInput

DECLARE @myCompareString varchar(30)
SET @myCompareString = (SELECT CONVERT(varchar(30),@myDateString,120) myDate)

DECLARE @myReturnValue INTEGER
SELECT @myReturnValue = CASE WHEN @myDateString = @myCompareString THEN 1 ELSE 0 END

RETURN @myReturnValue