Дата Время Форматирование - PullRequest
0 голосов
/ 03 апреля 2009

Привет, мне нужно записать SQL-запрос таким образом, чтобы он получал дату в следующем формате. дд мм гггг чч мм сс AM (или PM)

например, 31 12 2009 12 45 06 AN

Ответы [ 5 ]

4 голосов
/ 03 апреля 2009

Я бы порекомендовал отформатировать строку на среднем уровне / уровне или на стороне клиента. Это намного проще с различными методами форматирования ... Это требование к презентации, почему бы вам не выполнить форматирование в слое презентации?

2 голосов
/ 03 апреля 2009

Вы можете взглянуть на CAST и CONVERT на MSDN.

SELECT CONVERT(VARCHAR(30), datetime_field, 130) AS formatted_date

130 преобразует дату в следующий формат: дд монгггг чч: ми: сс: мммАМ (или ПМ)

1 голос
/ 03 апреля 2009

Если вы используете SQL 2005 и 2008, лучше всего написать процедуру CLR, чтобы выполнить форматирование за вас. .NET Framework имеет очень мощные процедуры форматирования для различных типов данных, и имеет смысл использовать их, когда вы хотите выполнить форматирование на уровне базы данных.

Несмотря на то, должен ли это быть в случае, если, конечно, весьма спорно. Я понимаю, почему команда SQL Server не склоняется к гибкому форматированию, поскольку основной задачей базы данных является хранение и извлечение данных.

1 голос
/ 03 апреля 2009

Было бы трудно сделать его более неэффективным, но здесь все равно

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
0 голосов
/ 03 апреля 2009

Использовать функцию DATE_FORMAT. Вот ссылка на форматы: http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-format

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...