Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 日期时间字段上查询的Coldfusion排序查询_Sql Server_Oracle_Coldfusion - Fatal编程技术网

Sql server 日期时间字段上查询的Coldfusion排序查询

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

我有一个coldfusion查询,无法对datetime字段进行正确排序。一组数据来自Oracle,另一组来自SQL server 2012。看起来是这样的:

<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子句可能会浪费处理时间。