2013-03-27 6 views
0

Европейский формат dd/mm/yy hh: mm не поддерживается SQL, есть ли способ его создать? Я пытаюсь вернуть его в хранимой процедуре, как так:Пользовательский формат SQL DateTime

ALTER PROCEDURE dbo.GetMeetingByCustomerID 
    @CustomerID nvarchar(50), 

AS 

    SELECT ProfessionalID, MeetingDate, Cost, HasReview, Approved 
    FROM  Meeting 
    WHERE (CostumerID = @CostumerID) 
    ORDER BY MeetingDate ASC 
    RETURN 

Единственная проблема заключается в том, что она возвращает его в неправильном формате. Есть ли способ создать новый? Спасибо. EDIT: Я решил это. что я сделал:

MeetingDate = DateTime.Parse(Meetings.Tables[0].Rows[i][1].ToString()); 
       string d = MeetingDate.ToString("hh:mm dd/MM/yy");   
+4

Зачем это делать в SQL? Сделайте это в приложении. Какая версия SQL Server (я предполагаю, что это то, что вы используете)? – Oded

+0

верните его как TO_CHAR в любом формате. – Randy

+1

Согласен с Oded. Верните фактическую дату и отформатируйте ее в приложении. –

ответ

1

Прежде всего, я считаю неправильным форматировать дату/время в запросах SELECT. Но если вам это действительно нужно, используйте CAST/CONVERT (если вы используете MS SQL) и удалите неиспользуемые символы:

SELECT ProfessionalID, CONVERT (varchar(5), MeetingDate, 108) AS MeetingDateString, Cost, HasReview, Approved 
FROM  Meeting 
WHERE (CostumerID = @CostumerID) 
ORDER BY MeetingDate ASC 
+0

Вы хотите получить псевдоним результата 'CONVERT'. –

+0

Как это сделать в приложении? im используя C# и asp.net –

+0

@MichaelSallmen, да, конечно, должен быть псевдоним. Я исправил свой ответ. Htusa, формирование зависит от типа управления, в котором вы собираетесь представлять эту информацию. Я бы рекомендовал перейти на http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx, чтобы получить общую информацию о форматировании дата/время в C# –

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