MadMyche
Все это зависит от контекста использования этих данных и от того, какие бизнес-правила применяются к ним.
В одном из моих проектов есть необходимость вытащить документы на определенную дату, и данные имеют От/До точно такие же, как у вас, и есть некоторые нулевой ценности там есть.
Бизнес утверждает, что все, что имеет нулевую начальную дату, хорошо для всех дат до даты "до", а любые нулевые начальные даты хороши для любого времени после даты "от".
Таким образом, метод, используемый в моем случае, - это Коалесцирование (вы могли бы
Моя хранимая процедура, ищущая это, похожа на эту
DECLARE @DateDesired DATE = '04/15/2001'
SELECT *
FROM Documents
WHERE @DateDesired >= Coalesce(FromDate, '01/01/1900')
AND @DateDesired <= Coalesce(ToDate, '12/31/2500')
Я надеюсь, что это и статья ниже помогут вам определить, как вы будете справляться со своей ситуацией.
Ссылка:
COALESCE (Transact-SQL) - SQL Server | Microsoft Docs[
^]
ahmed_sa
У меня есть insertiondate на столе есть formate dd/mm/yyyy
Мне нужно, когда пользователь пишет любой формат, отличный от dd/mm/yyyy
например, ММ/ДД/гггг или гггг/ММ/ДД
преобразование в ДД/ММ/гггг
Как это сделать, пожалуйста ?
MadMyche
Что вам нужно понять, так это разницу между "пользовательским интерфейсом" и базовыми данными. Семейство типов данных DATETIME фактически хранится в виде чисел, и именно пользовательский интерфейс переводит их в удобочитаемый формат.
Отображение даты для конечного пользователя зависит от пользовательского интерфейса, а разработчик приложения должен знать, в каком формате поступают данные.
Самое главное в датах и времени-это рассматривать их как свой собственный тип данных, а не как строки/varchars