我有一个CFquery,从今天开始显示条目,麻烦的是,它使用当天来订购结果,而不是在日期之前订购它们?
日期格式为uk dd / mm / yyy
<cfquery name="GetDates" datasource="#session.odbcname#">
SELECT *
FROM infodata,courses
WHERE course_id = #url.course_id#
AND infodata.coursename = courses.course_dantename
AND infodata.StartDate > <cfqueryparam value="#createODBCDate(now())#" cfsqltype="cf_sql_date">
ORDER BY infodata.StartDate
startDate变量采用dd / mm / yyyy格式,但结果显示如下......
它们是按日而不是按日期排序的,我按日期需要它们吗?
非常感谢任何想法。
由于
答案 0 :(得分:3)
更改您的查询,使其包含:
select blah, blah, something that casts your string to a date as thedate
etc
order by thedate
如何将字符串转换为日期取决于您未指定的数据库引擎。例如,oracle有一个to_date()函数,mysql有一个str_to_date函数等。
要彻底,你也要改变你的where子句。
关于这个评论,“遗憾的是,我不能使用数据类型'日期时间',因为数据是从XML文件中提取的”。这不完全正确。您可以将xml数据加载到临时表中,根据需要进行处理,并从登台表中写入实际表。这种方法有很多优点。将字符串转换为日期时间只是其中之一。