Привет мне нужно wirte SQL запрос таким образом, что она будет retrive дату в следующем формате ДД ММ ГГГГ ЧЧ мм сс AM (или PM)Дата Время Форматирование
например 31 12 2009 12 45 06 AN
Привет мне нужно wirte SQL запрос таким образом, что она будет retrive дату в следующем формате ДД ММ ГГГГ ЧЧ мм сс AM (или PM)Дата Время Форматирование
например 31 12 2009 12 45 06 AN
Используйте функцию DATE_FORMAT. Вот ссылка для форматов: http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-format
Вы можете взглянуть на CAST and CONVERT на MSDN.
SELECT CONVERT(VARCHAR(30), datetime_field, 130) AS formatted_date
преобразует дату в следующем формате: дд пн гггг чч: ми: сс: mmmAM (или PM)
HI этот формат не доступен в списке ДД ММ ГГГГ ЧЧ мм сс AM (или PM) – 2009-04-03 07:30:23
Я думаю, превращающего в стиле даты и времени 130, ближе всего к вашему запрошенной даты – RuudKok
Было бы трудно получить его более неэффективной, так как это, но здесь идет
DECLARE @GetDate DATETIME
SET @GetDate = '01-01-2009 13:10:20'
SELECT
CAST(DATEPART(dd, @GETDATE) AS VARCHAR(2)) + ' '
+ CAST(DATEPART(mm, @GETDATE) AS VARCHAR(2)) + ' '
+ CAST(DATEPART(yyyy, @GETDATE) AS VARCHAR(4)) + ' '
+ CAST(DATEPART(hh, @GETDATE)%12 AS VARCHAR(2)) + ' '
+ CAST(DATEPART(mi, @GETDATE) AS VARCHAR(2)) + ' '
+ CAST(DATEPART(ss, @GETDATE) AS VARCHAR(2)) + ' '
+ CASE WHEN DATEPART(hh, @GETDATE) > 12 THEN 'AM' ELSE 'PM' END
Если вы используете SQL 2005 и 2008 хороший путь, чтобы написать процедуру CLR, чтобы сделать форматирование для вас. .NET Framework имеет очень мощные подпрограммы форматирования для различных типов данных, и имеет смысл использовать их, когда вы хотите сделать форматирование на уровне базы данных.
Хотя, должно ли это быть в случае, если, конечно, весьма спорно. Я могу понять логику команды SQL Server, не отказываясь назад, чтобы поддерживать гибкое форматирование, учитывая, что основным заданием базы данных является хранение и извлечение данных.
Я бы рекомендовал форматировать строку на среднем уровне/уровне или стороне клиента. Это намного проще с различными форматными методами ... Это требование презентации, почему бы вам не форматировать на уровне презентации?
+1 Не знаю, почему это должно было быть понижено. Это солидный совет. –
привет Иам с использованием SQLServer 2005 – 2009-04-03 07:27:11