2013-10-15 5 views
4

Мы запускаем cfquery в двух разных версиях ColdFusion (CF9 и CF10). Когда результаты возвращаются, даты форматируются по-разному в отдельных версиях.Различные результаты запроса, возвращенные в версиях Coldfusion

запрос является

SELECT TOP 100 CONVERT(DATE,Field1,121),Field2 
FROM A_TABLE 

В CF9 возвращение на поле 1 выглядит 2010-06-01.

В CF10 возвращение на поле 1 выглядит как {ts '2010-06-01 00:00:00'}

Кто-нибудь еще в этом уведомлении разница? Мы искали документацию по CF и не заметили упоминания об этом изменении.

+3

Это все равно, если вы используете функцию DateFormat. – fyroc

+1

Как вы просматриваете эти данные? –

+0

Похоже, что на CF9 ColdFusion не возвращал формат, указанный в документации Microsoft, http://msdn.microsoft.com/en-us/library/ms187928.aspx. –

ответ

6

Возвращаемые данные являются одинаковыми. То, что вы видите в CF10, - это то, как ColdFusion отображает объекты даты/времени. (Отредактированный на основе обратной связи от Miguel-F)

Всякий раз, когда вы вывода даты/времени, вы можете (и должны) использовать dateFormat(), timeformat() (и CF 10 datetimeformat()) для форматирования даты/времени стандартным способом.

+1

_Что вы видите в CF10, так это то, как ColdFsuion отображает «сырые» даты/время из базы данных. - Я не верю, что это точно. Разница заключается в том, что в CF10 он возвращает объект даты/времени, а в CF9 он просто возвращает строковое представление. Выход '{ts '2010-06-01 00:00:00'}' - это то, как ColdFusion отображает объекты даты/времени. –

+0

Возможно, это разница в драйвере JDBC. В любом случае 'dateFormat()', 'timeFormat()' и/или 'dateTimeFormat()' будут решать любые проблемы с отображением, которые он имеет. –

+0

Я отредактировал ответ, чтобы принять во внимание то, что вы указали @ Miguel-F –

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