Принудить пользователя ввести конкретный формат даты - PullRequest
0 голосов
/ 20 марта 2012

Как заставить пользователя вставлять дату только в формате "гггг-мм-дд чч: мм: сс".

Я понимаю, что могу конвертировать дату в любое время в любом формате, используя функцию "КОНВЕРТ".Но я хотел бы, чтобы пользователь вводил дату в этом формате.

ИЛИ

Как я могу проверить правильность формата введенной даты в базе данных или нет.Мне нравится использовать некоторые функции, которые проверяют даты.

1 Ответ

0 голосов
/ 30 марта 2012

Передайте формат даты и времени в виде строки или значения 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...