ORACLE时间格式问题

来源:百度知道 编辑:UC知道 时间:2024/05/26 06:55:27
SELECT * FROM XF_VIPITEMDM
WHERE XF_STORECODE='088'
AND TO_CHAR(XF_TXDATE,'YYYYMMDD HH24:MI')='2009-09-25 17:36'
这样为什么没有数据?
而我精确到日期
SELECT * FROM XF_VIPITEMDM
WHERE XF_STORECODE='088'
AND TO_CHAR(XF_TXDATE,'YYYYMMDD')='20090925'
却能查到数据
XF_TXDATE是DATE型的,是不是WINSQL对于ORACLE支持不够啊

SELECT * FROM XF_VIPITEMDM
WHERE XF_STORECODE='088'
AND TO_CHAR(XF_TXDATE,'YYYY-MM-DD HH24:MI')='2009-09-25 17:36';

或者

SELECT * FROM XF_VIPITEMDM
WHERE XF_STORECODE='088'
AND TO_CHAR(XF_TXDATE,'YYYYMMDD HH24:MI')='20090925 17:36'

你的问题在于并没有匹配到
TO_CHAR(XF_TXDATE,'YYYYMMDD HH24:MI') 是将XF_TXDATE转话成‘20090925 17:36’的样子。而你是='2009-09-25 17:36'自然就没有结果了。

TO_CHAR(XF_TXDATE,'YYYYMMDD') 就是转换成'20090925'的样子 所以就能查到数据了

XF_TXDATE字段是什么数据类型? date吗?