我只想验证用户的给定输入
Declare @UserInput NVARCHAR(20)
set @UserInput = '26/07/2013'
select ISDATE(@UserInput)
即使日期有效,也会返回 false,因为日期采用澳大利亚格式
我可以将最后一行更改为以下内容
select isdate(CONVERT(datetime, @UserInput, 103))
它有效。但如果 @Userinput 是垃圾(即:- 'hello'),那么最后一条语句将失败。我怎样才能拥有某种东西,无论用户输入什么,它都会将其验证为澳大利亚日期(dd/mm/yyyy)?
Thanks
Use 设置日期格式 http://technet.microsoft.com/en-us/library/ms189491.aspx指定您期望输入日期的格式:
SET DATEFORMAT DMY;
Declare @UserInput NVARCHAR(20)
set @UserInput = '26/07/2013'
select ISDATE(@UserInput)
我倾向于在输入到达 SQL-Server 之前执行此类验证,并确保任何日期变量都是日期。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)