Sql server 日期时间字段上查询的Coldfusion排序查询
我有一个coldfusion查询,无法对datetime字段进行正确排序。一组数据来自Oracle,另一组来自SQL server 2012。看起来是这样的:Sql server 日期时间字段上查询的Coldfusion排序查询,sql-server,oracle,coldfusion,Sql Server,Oracle,Coldfusion,我有一个coldfusion查询,无法对datetime字段进行正确排序。一组数据来自Oracle,另一组来自SQL server 2012。看起来是这样的: <cfquery name="SQLNotes" datasource="sql"> SELECT dateNoteDate AS dateContactTime, strNote, customerID FROM Notes order by dateContactT
<cfquery name="SQLNotes" datasource="sql">
SELECT dateNoteDate AS dateContactTime,
strNote,
customerID
FROM Notes
order by dateContactTime desc
</cfquery>
<cfquery name="OracleNotes" datasource="oracle">
SELECT TO_DATE ( CONCAT( CONCAT(DATE, ' '), TIME ), 'DD-MON-RR HH24:MI:SS') AS "dateContactTime",
strNote,
customerID
FROM Notes
order by dateContactTime desc
</cfquery>
<cfquery name="AllNotes" dbtype="query">
SELECT * FROM SQLNotes
UNION
SELECT * FROM OracleNotes
ORDER BY dateContactTime desc
</cfquery>
它只是将oracle注释放在SQL server注释之后,而不是对它们进行排序。
我尝试过不同的方法,比如将时间强制转换为连接上的时间戳,并以此进行排序
我正在处理11行的示例,当我使用queryName.dateContactTime[1].getClass.name时,它们都是数据类型java.sql.Timestamp
以下是时间,按照使用SELECT CASTdateContactTime作为时间戳时的顺序排列
2016年4月25日02:49:14
2016年4月25日02:47:21
2016年4月25日01:25:24
04/25/16 01:21:41
2016年4月25日10:49:45
2016年4月25日10:48:44
2016年4月25日10:42:56
2016年4月25日10:26:34
2016年4月25日10:26:29
2016年4月25日01:49:50
04/25/16 01:08:22编辑“是”,如果两列的类型相同,或转换为相同类型,则该选项应有效。A你是说你试着在QoQ中将两列都转换为日期,即将列转换为日期作为别名,然后按别名排序,而不是按列名排序?B你试过按列号订购吗,按1描述订购?C如果两者都不起作用,那么两个查询列的值示例是什么,报告的数据类型是什么,即queryName.dateContactTime[1].getClass.name?查看数据时,你看到了什么可以解释这一点吗?做你必须做的事情,在每组查询结果中创建yyyy-mm-dd HH:mm:ss格式的字符串并按其排序。我看到过当你不小心按日期字符串而不是日期/时间列排序时会发生这种情况。这里似乎不是这样,但是。。。它是如何强制值进行排序的,这会产生与预期不同的结果或值。如果没有关于db查询的更多细节,很难说确切的原因。1什么版本的CF?2原始数据库查询中列的数据类型是什么?3 OracleNotes查询是否已包含名为dateContactTime的列?与您的问题无关,但db查询中的order by子句可能会浪费处理时间。编辑“是”,如果两个列的类型相同,或转换为同一类型,则应该可以使用。A你是说你试着在QoQ中将两列都转换为日期,即将列转换为日期作为别名,然后按别名排序,而不是按列名排序?B你试过按列号订购吗,按1描述订购?C如果两者都不起作用,那么两个查询列的值示例是什么,报告的数据类型是什么,即queryName.dateContactTime[1].getClass.name?查看数据时,你看到了什么可以解释这一点吗?做你必须做的事情,在每组查询结果中创建yyyy-mm-dd HH:mm:ss格式的字符串并按其排序。我看到过当你不小心按日期字符串而不是日期/时间列排序时会发生这种情况。这里似乎不是这样,但是。。。它是如何强制值进行排序的,这会产生与预期不同的结果或值。如果没有关于db查询的更多细节,很难说确切的原因。1什么版本的CF?2原始数据库查询中列的数据类型是什么?3 OracleNotes查询是否已包含名为dateContactTime的列?与您的问题无关,但db查询中的order by子句可能会浪费处理时间。