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>
スプレッドシートでは、日付はユーロ形式のdd / mm/yyです。問題は、クエリのクエリのCAST関数が、「date_field」をvarcharからdateに変換しますが、アメリカのタイプの日付(月の最初、翌日)に変換することです。
たとえば、Excelのdate_field列にはこの値01/07/2011(Eurodateであるため2011年7月1日)が含まれていますが、クエリのクエリでは{ts'2011-01-0700:00:00'}に変換されます。
クエリのクエリでCASTを使用して、ヨーロッパスタイルの日付を生成する方法はありますか?オラクルでこれを回避するには、to_date(date_field、'DD:MM:YY')を実行しますが、ここでこれに取り組む方法がわかりません。