3

ユーザーからの特定の入力を検証したいだけです

Declare @UserInput NVARCHAR(20)
set @UserInput = '26/07/2013'
select ISDATE(@UserInput)

日付が有効であっても、日付がオーストラリアの形式であるため、これは false を返します。

最後の行を次のように変更できます

select isdate(CONVERT(datetime, @UserInput, 103))

そしてそれは動作します。しかし、@Userinput がゴミ (つまり:- 'hello') の場合、最後のステートメントは失敗します。ユーザーが何を入力しても、それをオーストラリアの日付 (dd/mm/yyyy) に検証する方法を教えてください。

ありがとう

4

2 に答える 2

3

SQL Server 2012 以降を使用していると仮定すると、代わりにTRY_CONVERTを使用できます。

select isdate(TRY_CONVERT(datetime, @UserInput, 103))

于 2013-09-30T12:34:12.820 に答える