下面的查询给了我两个不同的oracle数据库两个不同的结果。 (我不知道的数据库版本)查询to_date问题
我想问一下,如TO_DATE
函数因数据库版本而异?
select * from ACC WHERE CHANGE = TO_DATE('01/02/2015','MM/DD/YY');
请注意,我只=
但<
和>
做工精细面临的问题。
在1分贝:此查询是给予1个结果
在2分贝:此查询是给予0的记录。
在DB:变化值是02-JAN-14
下面的查询给了我两个不同的oracle数据库两个不同的结果。 (我不知道的数据库版本)查询to_date问题
我想问一下,如TO_DATE
函数因数据库版本而异?
select * from ACC WHERE CHANGE = TO_DATE('01/02/2015','MM/DD/YY');
请注意,我只=
但<
和>
做工精细面临的问题。
在1分贝:此查询是给予1个结果
在2分贝:此查询是给予0的记录。
在DB:变化值是02-JAN-14
据我所知,to_date()
并没有改变。更有可能的是,您在列change
上有一个时间组件,这可以防止=
发挥作用。试试这个:
select *
from ACC
where trunc(CHANGE) = TO_DATE('01/02/2015','MM/DD/YY');
或者说,我怎么会喜欢写这样的:
where change >= DATE '2015-01-02' and
change < (DATE '2015-01-02') + 1
使用date
关键字,您可以使用ISO标准格式。该版本还允许使用change
列中的索引。
如果它们在同一台服务器上很奇怪。如果您位于两台不同的服务器上,请验证服务器的日期格式是否相同。
您可以在NLS下的设置中看到它
什么是CHANGE列的类型DATE? – hkutluay
是的,它的类型是DATE – VJS