我有一个import numpy as np
L = ['NTP', 'LOS']
df2['NewCol'] = np.where(df2['Alarm'].isin(L), 'Yes', 'No')
,可通过调用ADODB.RecordSet
和ADODB.RecordSet.Open
的名称来调用stored procedure
connection
存储过程返回一个称为Dim results As New ADODB.RecordSet
results.Open usp_GetSomeDate, connection //... omitted
的日期作为SomeDate
,并正确,成功地填充了记录集。
DateTime
然后代码使用此填充的RecordSet并调用ALTER Procedure usp_GetSomeDate
AS
select SomeDate from foo
,例如
Sort
问题是,然后这种排序似乎是按results.Sort = "SomeDate"
而不是整个SomeDate
对Day
进行排序!例如,如果我有以下内容:
DateTime
并按升序对结果进行排序,我将得到:
04/07/2018 12:43:23
01/03/2017 06:32:12
08/04/2018 09:23:23
而我的预期结果是:
01/03/2017 06:32:12
04/07/2018 12:43:23
08/04/2018 09:23:23
由于我确保从SQL存储过程返回的值是DateTime,所以我看不到代码为什么将这些内容排序为DateTime以外的东西,这通常是导致问题的原因,请查看其他答案(其中没有很多)
如何更改此设置以确保排序为01/03/2017 06:32:12
08/04/2018 09:23:23
04/07/2018 12:43:23
?
答案 0 :(得分:0)
正如@Theo所指出的,CursorLocation
上的RecordSet
属性需要设置为adUseClient
Dim results As New ADODB.RecordSet
results.CursorLocation = adUseClient
results.Open usp_GetSomeDate, connection //... omitted
另外,重要的是要确保从SQL中选择的字段是Date
或DateTime
,以便记录集按日期而不是字符串排序!