+-
数据库sql语句to_char优化[mysql和oracle ]

最早发现这个问题是在买买提分析中,如果 在数据库sql语句中用

select * from 表名 where  to_char('表中的日期字段', 'YYYY-MM-DD') = ‘2011-01-11’,

如果的表中的数据不多,那么执行这个语句ok没有问题,

如果表中的数据过多(1000- 3000万),那么会提示数据库内存溢出~~~~

解决方案:


ORACLE:

表中的日期字段 <= to_date(#map.st_date:VARCHAR#  || ' 23:59:59', 'YYYY-MM-DD HH24:MI:SS')


 MYSQL:

表中的日期字段 <= str_to_date(concat(#map.complete_date:VARCHAR#, ' 23:59:59'), '%Y-%m-%d %H:%i:%s')