数据库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') |
补充:数据库,mysql教程