Я использую cfspreadsheet для чтения значений из листа Excel, а затем делаю запросы для сортировки поля даты, потому что все поля, возвращаемые cfspreadsheet, имеют тип "VarChar". Вот код:
<cfspreadsheet action = "read" query = "mySpreadsheet" src = "mp.xls" sheet="1" rows="2-178">
<cfquery name="mySpreadsheet2" dbtype="query">
select
(CAST(date_field as DATE)) as mydate
from mySpreadsheet order by mydate
</cfquery>
В электронной таблице даты указаны в европейском формате дд/мм/гг. Проблема заключается в том, что функция CAST в запросе запросов превращает поле «date_field» из varchar в дату, но в американский тип даты (сначала месяц, день после).
Например, столбец excel date_field содержит это значение 07.01.2011 (первое июля 2011 года, поскольку это дата Eurodate), но в запросе оно преобразуется в {ts '2011-01-07 00:00:00'}. запросов.
Есть ли способ использовать CAST в запросе запросов для получения даты в европейском стиле? Чтобы обойти это в оракуле, вы должны сделать: to_date(date_field, 'DD:MM:YY'), но я не знаю, как решить это здесь.