Phi*_*ffi -1 sql oracle oracle10g
我有一个查询,其中一个过滤器是一个日期,是否可以在Oracle中过滤类似下面的内容?
SELECT * FROM tabela WHERE dateField = '2014-02-10 15:56:00.000'
Run Code Online (Sandbox Code Playgroud)
或者我们是否总是要将其转换为String?
SELECT * FROM tabela WHERE dateField = TO_DATE('10/02/2014 15:56:00', 'DD/MM/YYYY HH24:mi:ss')
Run Code Online (Sandbox Code Playgroud)
我正在使用Oracle 10g.
您的第一个查询依赖于隐式数据类型转换,这是一件非常糟糕的事情(并且迟早会给您带来问题).
第二个正确地将日期与日期进行比较,这是正确的方法.
如果您不想输入那么多,可以使用ANSI SQL时间戳文字:
SELECT *
FROM tabela
WHERE dateField = timestamp '2014-02-10 15:56:00.000';
Run Code Online (Sandbox Code Playgroud)
请注意,格式必须是文字中的ISO(即yyyy-mm-dd和24小时)