我有以下查询,即使有:
也无法检索数据import Alamofire
import Foundation
import XCTest
class BaseTestCase: XCTestCase {
let timeout: NSTimeInterval = 30.0
func URLForResource(fileName: String, withExtension: String) -> NSURL {
let bundle = NSBundle(forClass: BaseTestCase.self)
return bundle.URLForResource(fileName, withExtension: withExtension)!
}
}
start_time字段是时间戳字段。因此,我使用to_char转换它,并与用户传递的04-MAY-10值进行比较。但它没有获取任何数据。 请帮忙。提前致谢
答案 0 :(得分:6)
to_char()
关注模式的情况。所以,你正在制作“04-may-10”,这是不一样的。
所以,试试这个:
where TO_CHAR(INTERFACE_RUN.START_TIME, 'DD-MON-YY') = '04-MAY-10';
那就是说,我更喜欢:
where trunc(INTERFACE_RUN.START_TIME) = date '2010-05-04'
或:
where INTERFACE_RUN.START_TIME >= date '2010-05-04' AND
INTERFACE_RUN.START_TIME < (date '2010-05-04') + 1
为什么呢?有两个原因。首先,列是日期,所以我更喜欢 date 比较。其次,我更喜欢ANSI / ISO标准日期格式。第二个版本也可以轻松利用START_TIME
列上的索引。
答案 1 :(得分:4)
Oracle会将日期转换为小写,从而生成&#39; 04-may-10&#39;
尝试&#39; DD-MON-YY&#39; (大写)
select TO_CHAR(sysdate, 'dd-mon-yy') from dual
union all
select TO_CHAR(sysdate, 'dd-MON-yy') from dual;
TO_CHAR(S
---------
13-jun-16
13-JUN-16