Извлечь только дату из столбца DateTime asp.net - PullRequest
3 голосов
/ 04 ноября 2011

в SqlDataSource я указал SelectCommand, который извлекает дату:

SelectCommand="SELECT [training_id], Convert(varchar(14),[trainingDate],101) FROM [tbl_training]"

Однако DateGenerated дает мне значение наподобие 04.11.2011 12:00:00 AM.Как извлечь только 25.11.2011 с помощью SelectCommand?

Буду признателен за любую помощь.

Ответы [ 7 ]

3 голосов
/ 04 ноября 2011

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

Как еще вы хотите использовать значение?Хотя я думаю, что фундаментальный недостаток в том, что DateTime используется для нескольких разных вещей , вы должны быть в состоянии обойти это, если будете осторожны.

2 голосов
/ 04 ноября 2011

Не указывайте размер, попробуйте

Convert(varchar,[trainingDate],101)

Если бы вы сегодня запустили это на SQL Server, вы получите:

Declare @datey datetime
Set @datey = GETDATE()
Select CONVERT(varchar, @datey, 101) as [DateOnly]

Результат: 11/04 /2011

Также стоит отметить, что в SQL Server Denali все эти магические числа для форматирования исчезнут с новой FORMAT () функцией

1 голос
/ 13 октября 2012
string today_date = DateTime.Now.Date.ToShortDateString();

При наведении на сегодняшнюю дату вы получите часть даты.

1 голос
/ 04 ноября 2011

Чтобы получить только часть даты, вы можете сделать это:

DateTime dt = DateTime.Now;
dt = dt.Date;

Если вы отображаете дату, вы можете использовать формат MM/dd/yyyy.Если вы хотите вернуть только часть даты из SQL Server, используйте формат 111 вместо 101.

1 голос
/ 04 ноября 2011

если вы собираетесь отображать его в сетке asp, вы можете сделать это в ограниченном поле.

<asp:BoundField DataField="datafield" HeaderText="displayText" DataFormatString="{0:MM/dd/yyyy}"  HtmlEncode="false"/>

, но если вы хотите, чтобы это было в запросе выбора

Select convert(varchar,trainingDate, 101) as trainingDate
0 голосов
/ 04 ноября 2011

В случае Sql Server 2008 вы можете привести к встроенному типу даты :

CAST(trainingDate as DATE)

Окончательный запрос:

SELECT training_id, CAST(trainingDate as DATE) 
FROM tbl_training
0 голосов
/ 04 ноября 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...