Я написал хранимую процедуру, которая принимает параметр даты. Меня беспокоит то, что между форматами дат American
и British
. Каков наилучший способ гарантировать отсутствие двусмысленности между датами, такими как 02/12/2008
. Одна из возможностей заключается в том, чтобы пользователи вводили дату в формате, таком как 20081202 (yyyymmdd)
. Есть ли способ проверить это, не используя подстроки? В качестве альтернативы даты могут быть введены как 02-Dec-2008(dd-mmm-yyyy)
, но повторная проверка не является тривиальной, и есть потенциальные проблемы с пользователями, которые не используют английский.Проверка даты Дата Параметр в хранимой процедуре SQL Server
В дополнение к первым трем ответам. , , Одна из проблем заключается в том, что я ожидаю, что этот хранимый процесс будет вызываться напрямую без переднего конца, поэтому проверка полномочий proc не является вариантом. Это хорошая идея взять день, месяц и год в качестве отдельных параметров?
Мы уже используем дату и время тип этой проблемы заключается в том, что в зависимости от настройки локализации пользователя одинаковые действительные входы времени и времени могут иметь разные значения. – macleojw
Итак, вопрос не в том, что касается SQL, не так ли? Вы должны просто правильно разобрать ввод в своем слое презентации и передать серверу SQL действительное время. –
У этого proc не будет слоя презентации. Вот почему это проблема SQL. – macleojw