2016-04-15 1 views
0

У меня есть база данных Microsoft Access с датами даты столбца даты в формате MM/DD/YYYY. Я использую запрос:Каков правильный SQL-запрос для получения поля даты без времени? C# MS Access

SELECT Date FROM Table 

Возвращает дату в C# в формате MM/DD/YYYY HH: MM: SS.

Что будет правильным запросом для получения только даты, а не времени?

+0

вы можете обрабатывать DateTime во времени. –

+0

http://stackoverflow.com/questions/113045/how-to-return-the-date-part-only-from-a-sql-server-datetime-datatype –

+0

[Это может помочь.] (Http: // stackoverflow.com/q/22441294/301857) –

ответ

0

Для форматирования даты в MS Access вы можете использовать функцию FORMAT. В вашем случае это будет выглядеть следующим образом:

SELECT FORMAT(Date, 'Short Date') FROM Table 

Edit: Не то, что выше пример возвращает дату в коротком формате даты, как это установлено в настройках системы. Чтобы быть более конкретным, вы также можете использовать собственный формат, например FORMAT(Date, 'yyyy/mm/dd').

+0

Большое вам спасибо! После нескольких часов поиска в Интернете я наконец нашел ответ. – Hermes

+0

Я вижу, что в комментарии к другому ответу вы упоминаете WPF. Если вы отображаете данные через привязки, вы можете просто изменить его формат отображения в WPF и не беспокоить его форматирование в SQL-запросе. Проверьте этот вопрос: http: // stackoverflow.ком/вопросы/7978249/дата форматирования-в-МОФ-DataGrid –

1

Вы можете просто изменить его в C#, делая

yourDateTimeVariable.ToShortDateString(); 
0

Я не совсем уверен, что вы имеете в виду здесь с C#. Но если вы хотите, чтобы запрос, чтобы вернуть его в таком формате, вы могли бы сделать что-то вроде

SELECT CONVERT(VARCHAR(10), t.Date, 101) FROM Table t 

чтения https://msdn.microsoft.com/en-us/library/ms187928.aspx о обращенного и это форматы.

Если вы хотите иметь в C# сделать это, вы можете использовать DateTime.Format() см https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx

+0

У меня есть база данных Access и C#. Я пытаюсь захватить данные из столбца Date из базы данных и отобразить их в C# WPF. – Hermes

+0

Думаю, я понимаю. Если вы просто выполняете команды excelSql (нет linq или что-то еще) с помощью C#, то предоставленный вами запрос разрешает вашу проблему? –

+0

Функция Convert не была найдена, она мне дала. – Hermes

0

В C# (так как этот вопрос помечено C#)

Вы Date собственностью DateTime, которая возвращает Date.

var newdate = dateobject.Date; 

или вы можете создать новую дату пропускания даты, месяц, год значение в DateTime конструктора.

var newdate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 0, 0, 0); 

Пожалуйста, обратите внимание, что в обоих случаях то, что вы получаете DateTime объект со временем, установленным в 12:00 AM. в C# ничего нет только Date, оно всегда связано со временем.

Смежные вопросы